我在为约塞米蒂做一个可可应用。
我在界面构建器中添加了一个基于视图的NSTableView,但是边框比约塞米蒂的查找器宽2像素,而且边框比约塞米蒂的查找器更厚,单元格选择颜色是蓝色的,而约塞米蒂的查找器是灰色的。
这就是Yosemite的Finder的桌面视图。
我检查了Interface中的设置。NSTableView的框架设置的超级滚动视图为(0,149,257):
而剪辑视图的帧设置为(1,1,147,255),不能更改。
如何制作一个与约塞米蒂的NSTableView相同的查找器?
谢谢你一吨!
发布于 2015-04-07 11:10:46
查找侧栏不是表视图,而是源列表NSOutlineView
边框在包围滚动视图周围应用:
还请注意,标准NSOutlineView
允许您从Interface中调整突出显示样式:
发布于 2016-08-17 17:10:00
根据我的经验,即使选择了“源列表”高亮样式,选定的行仍然是蓝色的。为了避免这种情况,我需要通过对表或大纲视图进行子类划分和添加来防止它成为第一个响应者。
- (BOOL)becomeFirstResponder {
return NO;
}
编辑:发现如果您想支持键盘导航,becomeFirstResponder
实际上是很重要的。我找到了一个更好的解决方案,不覆盖becomeFirstResponder
。
首先,使用(重写)空NSTableRowView
方法创建一个自定义setEmphasized:
子类:
- (void)setEmphasized:(BOOL)emphasized {
// This avoids a blue background when selected in a source list that has first responder status.
}
然后,您可以通过实现自定义NSTableRowView
类提供一个实例。
- (NSTableRowView *)tableView:(NSTableView *)tableView rowViewForRow:(NSInteger)row
在你的NSTableViewDelegate
里。
发布于 2017-08-31 16:59:16
无论谁想要移除NSTableView边界..。
我的要求是去掉NSTableView的边框颜色,这样它看起来就像一个白色的盒子。尝试了所有的属性和论坛,但找不到方法去做。最后,我在故事板上找到了一个肮脏的黑客,可以解决这个问题。如果有人有更好的选择,请告诉我们。
-2
。因此,NSTableView边框将位于方框之外Left=2
、Top=2
、Bottom=-2
和Right=-2
就是这样。
https://stackoverflow.com/questions/29487687
复制相似问题