【问题标题】:Cocoa : Multiline NSTextFieldCell in a NSOutlineViewCocoa:NSOutlineView 中的多行 NSTextFieldCell
【发布时间】:2011-01-21 16:48:42
【问题描述】:

我正在开发一个 Cocoa 应用程序。

我有一个 NSOutlineView 显示自定义单元格(单元格继承自 NSTextFieldCell)。我面临的问题是单元格文本只显示在一行上......我怎么能有一个多行文本字段???

感谢阅读;)

【问题讨论】:

    标签: objective-c cocoa xcode nsoutlineview nstextfieldcell


    【解决方案1】:
    1. 使用 -[NSCell setWraps:] 将表格列的 dataCell 配置为换行而不是滚动
    2. 在大纲视图委托中实现 -[NSObject outlineView: heightOfRowByItem:]。
    3. 使用 -[NSCell cellSizeForBounds:] 来查找特定宽度的单元格高度。对于 cellSizeForBounds:,您可以传递一个与您的列宽度相同的非常高的矩形,它会返回一个较小的矩形,该矩形是适合该宽度的文本的正确高度。

    【讨论】:

    • 嗨,乔恩,您能否发布一个步骤 3 的示例。非常感谢。
    • 如果您想知道宽度为 100 的文本有多高,您可以调用如下代码:[cell cellSizeForBounds:NSMakeRect(0, 0, 100, 10000)].height跨度>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多