在基于NSTableView的视图中使用Cocoa Auto-Layout

时间:2013-02-15 20:51:26

标签: cocoa nstableview nsview autolayout

我的目标是创建一个表格视图,其中显示带有图片的简短但可变长度和多行的消息(例如,推文列表)。我已经决定尝试将Auto-Layout用于将添加到表中的视图,因为我希望它从长远来看会简化开发,但我遇到了布局约束的问题。

我希望每个表行视图的高度都能扩展以容纳文本内容,但是具有固定的宽度,即表视图的整个宽度。只有在调整窗口大小时,此固定宽度才会更改。

我还在学习如何最好地使用自动布局,但很难理解它在这种情况下的工作方式。

表格视图是否需要明确指定每行的高度?如果是这样,这是完成的,如果不是,我怎么能强制视图正确调整大小以适应内容?

之前我在使用(CGFloat)tableView:heightOfRow:时遇到了一个糟糕的解决方案而没有自动布局效果不佳。如果我不需要给出高度,表格视图将如何获得给出行的高度?似乎tableview将我的自定义视图嵌入到另一个视图中,并且该视图不会扩展以适应,但我不确定这一点。

我的视图层次结构大致如下:

 - Window
   - Custom titlebar
   - Scroll View
     - Table View
       - Row View (variable height)
         - Text View
       - Row View (variable height)
         - Text View
       - Row View (variable height)
         - Text View

我希望我已经很好地描述了这个问题,如果不在评论中让我知道,我会添加更多的细节或图表。

0 个答案:

没有答案