【问题标题】:Expand an NSCell when multiples lines多行时展开一个 NSCell
【发布时间】:2012-04-03 10:51:47
【问题描述】:

我希望在 10.7 中具有与 Console.app 相同的行为。

  • 被截断的行带有一个显示三角形
  • 单击三角形/双击线/按“右阵列”展开 NSCell 并显示整个文本

我使用的是 NSOutlineView 方式,但“Accessibility Inspector”显示它不是大纲视图,而是 NSCell。

一个想法可能是捕获行数,并在特定事件(单击/双击/左数组)上修改当前 NSCell 的高度。

如何在我的单元格中添加这样的三角形? 我怎样才能捕捉到这样的事件?

【问题讨论】:

    标签: objective-c cocoa nstableview nscell


    【解决方案1】:

    控制台使用基于视图的NSTableView。每个单元格都是NSTableCellView 的自定义子类,这使它能够包含披露按钮。

    显示按钮可能只是在表格视图上调用noteHeightOfRowsWithIndexesChanged:,而后者又在表格视图的委托上调用tableView:heightOfRow:

    然后,tableView:heightOfRow: 委托方法的实现将为展开的行返回更大的高度。

    【讨论】:

    • 感谢您的回答,我开始继承 NSTableCellView,但我无法成功显示 NSButton 和我现有的文本,这些文本实际上是通过绑定出现的。虽然这不是问题,但你能告诉我一些关于 NSTableCellView 子类化的示例代码吗?我看过 linklink 但代码对我来说不够明确......
    猜你喜欢
    • 1970-01-01
    • 2014-04-13
    • 1970-01-01
    • 1970-01-01
    • 2018-02-11
    • 2017-11-30
    • 2014-06-19
    • 2013-12-11
    • 1970-01-01
    相关资源
    最近更新 更多