cocoa – NSTableView的头高度与OS X 10.11的向后兼容性

cocoa – NSTableView的头高度与OS X 10.11的向后兼容性,第1张

概述背景: 在OS X 10.11 El Capitan上,NSTableView的默认标题高度已经增长. 问题: 当我在OS X El Capitan 10.11(GM)和Xcode 7.0(稳定版)上构建我的NSTableView时,即使在之前的 *** 作系统版本上,表头高度也会被El Capitan的标题高度修复,因此上面有一个奇怪的不需要的空间表格标题(请参阅下面的屏幕截图.) 图1 El Capi 背景:

在OS X 10.11 El CAPItan上,NStableVIEw的默认标题高度已经增长.

问题:

当我在OS X El CAPItan 10.11(GM)和Xcode 7.0(稳定版)上构建我的NStableVIEw时,即使在之前的 *** 作系统版本上,表头高度也会被El CAPItan的标题高度修复,因此上面有一个奇怪的不需要的空间表格标题(请参阅下面的屏幕截图.)

图1 El CAPItan上的表头(正确)

图2 Yosemite上的表头(不正确)

这当然是不可取的.

题:

我怎么能避免这个?是否有人面临同样的问题?我甚至找不到任何提到这件事的文章.

我使用捆绑到Xcode 7.0并启用了自动布局的普通Interface Builder来放置我的NStableVIEw.

更新:

我刚刚确认此问题已在Xcode 7.2 OS X 10.11.2上修复.现在,您可以轻松修改Interface Builder上的NStableVIEw.

解决方法 这肯定是苹果框架中的一个错误.它只发生在视图自动布局时.
我设法通过子类化NStableheaderVIEw来解决这个问题,如下所示:

class TGtableheaderVIEw: NStableheaderVIEw {    overrIDe var frame: NSRect {        set {            super.frame = newValue        }        get {            var rv = super.frame            if #available(OSX 10.11,*) {} else {                // Correct in versions before El CAPItan                rv.size.height = 17            }            return rv        }    }}

然后将此子类设置为IB中的标头.

总结

以上是内存溢出为你收集整理的cocoa – NSTableView的头高度与OS X 10.11的向后兼容性全部内容,希望文章能够帮你解决cocoa – NSTableView的头高度与OS X 10.11的向后兼容性所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1016396.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存