私はNSTableView
を持っていて、各テーブル行にはNSTextView
があります。私はストーリーボードのNSTextView
でスクロールを無効にしました。 NSTableView
をスクロールすることはできますが、マウスカーソルがNSTextView
の上にくると、スクロールが停止します。これは、NSTextView
がスクロールの動作をインターセプトしているためです。NSTableView内のNSTextViewブロックスクロール
NSTextView
に矢印ポイント:
NSTextView
は、サブクラス化NSTableViewCell
であることに留意してください。
class AnnouncementsVC: NSViewController, NSTableViewDelegate, NSTableViewDataSource {
@IBOutlet weak var tableView: NSTableView!
override func viewDidLoad() {
//...
}
func numberOfRows(in tableView: NSTableView) -> Int {
//...
}
func tableView(_ tableView: NSTableView, viewFor tableColumn: NSTableColumn?, row: Int) -> NSView? {
//...
}
}
class AnnouncementTableCell: NSTableCellView{
@IBOutlet weak var message: NSTextView!
}
どのように私はNSTextView
が親NSTableView
までのスクロールイベントを渡す作るのですか?私の推測では、scrollWheel(with event: NSEvent)
が必要ですが、私は2つの異なるクラスがあるので、どこに行くのか分かりません。
'NSTextView'が必要か、複数行の' NSTextField'を使用できますか? – Willeke
'NSTextView'を選択して、行の高さを調整できました。私は 'NSTextField'を使用して、代わりに属性付きの文字列を使うことができると思います。 –