Nic*_*ari 3 macos cocoa appkit nscollectionview
我已经在Ray Wenderlich的教程之后在我的Cocoa应用程序上实现了一个集合视图(非常有用,考虑到这个领域中有多少错误和破坏了Apple的API).
在本教程中,使用以下代码将集合视图的画布涂成黑色(所有代码都在视图控制器类的viewDidLoad()方法中):
collectionView.layer?.backgroundColor = NSColor.black.cgColor
Run Code Online (Sandbox Code Playgroud)
然而,当您使用 - 例如 - 魔术鼠标/滚轮来超过("橡皮筋")滚动时"窥视"的区域仍然是白色且非常分散注意力:
我试图让整个内容区域变黑.在我的故事板,我同时设置的背景颜色NSScrollView和NSClipView包含集合视图为黑色,但它不会改变外观.还尝试了程序化的替代方案:为scrollview设置插座并调用:
self.scrollview.backgroundColor = NSColor.black
self.scrollview.contentView.backgroundColor = NSColor.black
Run Code Online (Sandbox Code Playgroud)
......没有效果.
另外,我尝试过:
collectionView.superview?.layer?.backgroundColor = NSColor.black.cgColor
Run Code Online (Sandbox Code Playgroud)
......但这也不起作用.
也不是:
self.view.layer?.backgroundColor = NSColor.black.cgColor
Run Code Online (Sandbox Code Playgroud)
要么:
self.view.window?.backgroundColor = NSColor.black
Run Code Online (Sandbox Code Playgroud)
更新:
我已将滚动视图的背景颜色设置为红色,并设置drawsBackground为true(以IB和编程方式).对于文档NSScrollView的backgroundColor属性说:
此颜色用于绘制内容视图中文档视图未覆盖的区域.
我在运行时验证了文档视图确实是我的集合视图:
if scrollview.documentView is NSCollectionView {
print("Document is collection")
}
Run Code Online (Sandbox Code Playgroud)
但是,不显示红色,文档(集合视图)之外的区域保持白色.
更新2:我解雇了View Hierarchy Debugger,似乎drawsBackground运行时的值为false(我true在代码和故事板中都设置了它)!:
(虽然背景颜色本身似乎有所反映)
注意:您引用的Ray Wenderlich教程以编程方式设置集合视图的背景颜色.您要么删除该行,要么确保设置的颜色与上面步骤3中选择的颜色相同.
| 归档时间: |
|
| 查看次数: |
739 次 |
| 最近记录: |