NSTableView 中的预选行不起作用
Pre-selecting row in NSTableView not working
我在 viewDidLoad() 中使用下面的代码尝试在 tableView 对象 (tblProjectNumber) 中预 select 一个 table 行。编译或 运行 时没有错误。
一切都加载正常,一旦加载视图,我可以通过单击鼠标 select table 行而不会出现任何问题。但是,我无法加载包含预先 select 所需的默认行的视图。我在 viewDidLoad() 中尝试了以下代码(参考最后三行)。 table视图不显示 selected 行,并且在加载数据时不滚动索引 (100) 处的行。
override func viewDidLoad() {
super.viewDidLoad()
self.view.wantsLayer = true
self.view.layer?.backgroundColor = NSColor.windowBackgroundColor().CGColor
self.view.window?.title = "Project Detail Module"
self.view.window?.titleVisibility
// sort the list of project numbers so that they display correctly when the view is first loaded
self.sortProjectNumberArray()
self.loadProjectRowDataArray()
self.sortPPRFilesForLatestDate()
// pre-select table row to load on initial display of the tableView
let index = NSIndexSet(index: 100)
self.tblProjectNumber.scrollRowToVisible(100)
self.tblProjectNumber.selectRowIndexes(index, byExtendingSelection: true)
}
这里的回答:
- Select row in tableView programmatically by other method beside calling their indexPath
- Select tableview row programmatically
- Xcode - Swift Programmatically select tablecell
已提供帮助,但我无法解决问题。此外,在上一个 link 中使用的 selectRowAtIndexPath 调用在 Swift 中似乎不可用,因此它对我也不起作用。
在 tableView(tableView: NSTableView, viewForTableColumn tableColumn: NSTableColumn?, row: Int) -> NSView?
方法中尝试您的代码。
不知道哪种 select 方法适用于 OSX
,但 selectRowAtIndexPath
是适用于 iOS
的正确方法。因此,请尝试 OSX
的所有可能的 selectIndex 方法,但在实际显示表数据的 viewForTableColumn
方法内部。即在显示表数据时..它将检查您想要 selected.
的索引
希望这对您有所帮助!
我在 viewDidLoad() 中使用下面的代码尝试在 tableView 对象 (tblProjectNumber) 中预 select 一个 table 行。编译或 运行 时没有错误。
一切都加载正常,一旦加载视图,我可以通过单击鼠标 select table 行而不会出现任何问题。但是,我无法加载包含预先 select 所需的默认行的视图。我在 viewDidLoad() 中尝试了以下代码(参考最后三行)。 table视图不显示 selected 行,并且在加载数据时不滚动索引 (100) 处的行。
override func viewDidLoad() {
super.viewDidLoad()
self.view.wantsLayer = true
self.view.layer?.backgroundColor = NSColor.windowBackgroundColor().CGColor
self.view.window?.title = "Project Detail Module"
self.view.window?.titleVisibility
// sort the list of project numbers so that they display correctly when the view is first loaded
self.sortProjectNumberArray()
self.loadProjectRowDataArray()
self.sortPPRFilesForLatestDate()
// pre-select table row to load on initial display of the tableView
let index = NSIndexSet(index: 100)
self.tblProjectNumber.scrollRowToVisible(100)
self.tblProjectNumber.selectRowIndexes(index, byExtendingSelection: true)
}
这里的回答:
- Select row in tableView programmatically by other method beside calling their indexPath
- Select tableview row programmatically
- Xcode - Swift Programmatically select tablecell
已提供帮助,但我无法解决问题。此外,在上一个 link 中使用的 selectRowAtIndexPath 调用在 Swift 中似乎不可用,因此它对我也不起作用。
在 tableView(tableView: NSTableView, viewForTableColumn tableColumn: NSTableColumn?, row: Int) -> NSView?
方法中尝试您的代码。
不知道哪种 select 方法适用于 OSX
,但 selectRowAtIndexPath
是适用于 iOS
的正确方法。因此,请尝试 OSX
的所有可能的 selectIndex 方法,但在实际显示表数据的 viewForTableColumn
方法内部。即在显示表数据时..它将检查您想要 selected.
希望这对您有所帮助!