NStableCellVIEw可以处于正常状态并处于选定状态.在正常状态下,所有文本标签应为黑色,在选定状态下,它们应为白色.
我该怎么办呢?
解决方法 实现这一目标的最简单方法可能是继承NSTextFIEld并覆盖子类中的drawRect:方法.在那里,您可以确定当前是否使用此代码选择包含NSTextFIEld实例的NStableCellVIEw实例(我使用的是NSOutlineVIEw,但它也适用于NStableVIEw):BOol selected = NO;ID tableVIEw = [[[self supervIEw] supervIEw] supervIEw];if ([tableVIEw isKindOfClass:[NStableVIEw class]]) { NSInteger row = [tableVIEw selectedRow]; if (row != -1) { ID cellVIEw = [tableVIEw vIEwAtColumn:0 row:row makeIfNecessary:YES]; if ([cellVIEw isEqualTo:[self supervIEw]]) selected = YES; }}
然后像这样绘制视图:
if (selected) { // set your color here // draw [self stringValue] here in [self bounds]} else { // call [super drawRect]}总结
以上是内存溢出为你收集整理的macos – NSTableCellView中的NSTextField全部内容,希望文章能够帮你解决macos – NSTableCellView中的NSTextField所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)