Автоматическое изменение размера нестабильной строки в соответствии с текстом
Я очень новичок в разработке для Mac, я хочу создать приложение для чата в OS X с использованием языка swift, я использую NStableView для отображения сообщений, Высота строки таблицы должна быть перенесена в соответствии с размером текста, как на следующих изображениях
Как мы можем показать, текст будет перенесен в соответствии с размерами окна.
мой код следующий
import Foundation
import Cocoa
class ChatWindowVC : NSViewController,NSTableViewDataSource,NSTableViewDelegate{
@IBOutlet var tableView: NSTableView!
private var arr = [String]()
@IBOutlet var message: NSTextView!
private var hgt:CGFloat = 20
@IBAction func send(sender: NSButton) {
if let textStorage = message.textStorage{
if !textStorage.string.isEmpty{
let str = textStorage.string
arr.append(str)
// textStorage.mutableString.setString("")
tableView.reloadData()
}
}
print("Send.....\(message.textStorage?.string)")
}
override func viewDidLoad() {
super.viewDidLoad()
arr.append("ONE")
arr.append("TWO")
arr.append("THREE")
}
func numberOfRowsInTableView(aTableView: NSTableView) -> Int
{
let numberOfRows:Int = arr.count
return numberOfRows
}
func tableView(tableView: NSTableView, objectValueForTableColumn tableColumn: NSTableColumn?, row: Int) -> AnyObject?
{
return arr[row];
}
func tableView(tableView: NSTableView, viewForTableColumn tableColumn: NSTableColumn?, row: Int) -> NSView? {
let result : ChatCell = tableView.makeViewWithIdentifier("ChatCell", owner: self) as! ChatCell
result.sent.stringValue = arr[row]
return result
}
func tableView(tableView: NSTableView, heightOfRow row: Int) -> CGFloat {
let str = arr[row]
let c:Int = str.characters.count
let cgfloat = CGFloat(c)
print(cgfloat)
return cgfloat
}
}
Пожалуйста, ведите меня
моя проблема в том, что я не могу установить высоту строки в соответствии с размером окна
Прикрепленный снимок экрана - пример моей цели
Было бы здорово, если бы вы могли привести пример или фрагмент кода
большое спасибо
Amith