这是为了处理列分隔符的双击.
我可以通过实现tableVIEw:sizetoFitWIDthOfColumn来实现这项工作:对于NStableVIEw和outlineVIEw:sizetoFitWIDthOfColumn:对于NSOutlineVIEw,但文档说这只是大表所必需的.有没有更正确的方法来做到这一点?
- (CGfloat)tableVIEw:(NStableVIEw*)tableVIEw sizetoFitWIDthOfColumn:(NSInteger)column { NSUInteger n = [self numberOfRowsIntableVIEw:tableVIEw]; CGfloat w = 30; NStableColumn* col = [[tableVIEw tableColumns] objectAtIndex:column]; for (int i=0; i<MIN(n,100); ++i) { NSVIEw* vw = [self tableVIEw:tableVIEw vIEwFortableColumn:col row:i]; w = MAX(w,[vw frame].size.wIDth); } return w;}解决方法 我想知道同样的事情.如果你在程序集中进行一些挖掘,你会发现负责列自动调整功能的框架方法是 – [NStableVIEw _sizetoFitWIDthOfColumn:].不幸的是,它做的第一件事是检查表视图是否是基于视图的表视图,如果是这样,它只是跳转到方法的末尾并且什么也不做.
基于视图的表视图在2009年的OS X 10.6中引入.唉,五年之后,它看起来这个功能仍然没有重新实现.
总结以上是内存溢出为你收集整理的objective-c – 如何在基于视图的NSTableView或NSOutlineView中自动调整列全部内容,希望文章能够帮你解决objective-c – 如何在基于视图的NSTableView或NSOutlineView中自动调整列所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)