subClassed NSView未出现在自定义视图中

时间:2013-07-16 10:26:31

标签: objective-c macos cocoa subclass nsview

我已经将NSView子类化了,我将其添加到另一个视图中:

clockT = [[CustomView alloc]initWithFrame:NSMakeRect(0, 0, 156, 155)]; 
[holderView addSubview:clockT];   
[clockT setNeedsDisplay:YES];
clockT.tZone = @"Canada/Yukon";  

视图已创建并添加到holderView但不可见。在调整窗口大小时可以看到它。 注意:我使用的是透明窗口。

3 个答案:

答案 0 :(得分:2)

Apple Developer Site上有一个示例应用程序可以帮助您。此示例演示如何使用自定义形状,无标题栏和透明内容创建窗口。

答案 1 :(得分:1)

所以,你正在使用透明视图,其他人看不到它。创建具有完整大小的窗口并创建对象并显示以增加holderview宽度。

答案 2 :(得分:1)

如果没有看到更多代码,很难说出发生了什么。这个主题有一些建议可以帮助你:https://stackoverflow.com/a/1503828/171933

难道你不是从主线程中调用它吗?您的视图是否具有自定义drawRect:实现?你能在那里放一个断点来看看传入的rect有多大?尺寸合适吗?

如果您只是创建一个带有绿色背景颜色的香草NSView并将其添加到持有者视图中,该怎么办?那样有用吗?如果是这样,那么CustomView的实施就会出现问题。

如果没有看到更多代码,很难确定问题。