【问题标题】:Selecting A Row In An NSTableView Programmatically以编程方式选择 NSTableView 中的一行
【发布时间】:2009-12-18 15:02:24
【问题描述】:

我想以编程方式在我的表格视图中选择 A Row,我相信我会使用 selectRowIndexes:byExtendingSelection:(这是委托方法吗?)。另一件事是我将如何使用该方法来选择第二行(在编程术语中为第 1 行)?

【问题讨论】:

    标签: objective-c cocoa nstableview


    【解决方案1】:

    Joshua,请务必使用开发人员文档来确定它是否是委托方法。如果它是一个委托方法,它将在 NSTableViewDelegate 的文档中提及。

    您正在寻找的内容非常简单。

    Objective-C

    NSIndexSet *indexSet = [NSIndexSet indexSetWithIndex:1];
    [tableview selectRowIndexes:indexSet byExtendingSelection:NO];
    

    斯威夫特 2

    let indexSet = NSIndexSet(index: 1)
    tableView.selectRowIndexes(indexSet, byExtendingSelection: false)
    

    再次。确保在文档中查找方法 selectRowIndexes:byExtendingSelection 以查看它需要哪些参数。它说需要一个 NSIndexSet。然后查找 NSIndexSet,你会发现如何使用它。

    【讨论】:

    • 好的,我明白了。感谢您的热心帮助。
    • 这似乎不起作用。我将它与大纲视图一起使用,但它仍然可以工作,对吧?因为 NSOutlineView 是 NSTableView 的子类?
    • 这应该仍然有效。确保您的插座已连接,并确保在视图初始化后调用此方法。因此,不要在“init”方法中调用它,使用 - (void)awakeFromNib。
    • 奇怪,它在 -(void)awakeFromNib 中不起作用,但它作为链接到按钮的 IBAction 起作用。
    • 视图是从笔尖加载的吗?还是您以编程方式创建它?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多