【发布时间】:2017-08-09 05:19:09
【问题描述】:
我有一个NSTableView,在每个表格行中都有一个NSTextView。我在情节提要中禁用了NSTextView 的滚动功能。我可以滚动我的NSTableView 就好了,但是当我的鼠标光标在NSTextView 的顶部时,滚动停止。我认为这是因为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),但我不确定它的去向,因为我在这里有两个不同的课程。
【问题讨论】:
-
您需要
NSTextView还是可以使用多行NSTextField? -
我选择了
NSTextView,以便调整行高。我想我可以使用NSTextField并改用属性字符串。
标签: nstableview nstextview nsscrollview