4

我已经子类化NSView并将其添加到另一个视图中,如下所示:

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

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

4

3 回答 3

2

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

于 2013-11-13T09:16:34.857 回答
1

因此,您使用的是透明视图,其他人看不到它。创建全尺寸的窗口并创建您的对象并显示而不是增加 holderview 宽度。

于 2013-11-13T09:03:01.983 回答
1

如果没有看到更多代码,很难知道发生了什么。该线程有一些建议可能对您有所帮助:https ://stackoverflow.com/a/1503828/171933

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

如果您只是创建一个带有绿色背景颜色的普通 NSView 并将其添加到您的持有人视图中怎么办?那样有用吗?如果是这样,那么您的CustomView.

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

于 2013-11-15T13:39:21.910 回答