Ios 为什么窗口更改必须在AppDelegate中?
我需要在Xcode 5中更改窗口——而不是视图——背景 这在AppDelegate中运行良好,但我想知道为什么它必须存在:Ios 为什么窗口更改必须在AppDelegate中?,ios,objective-c,Ios,Objective C,我需要在Xcode 5中更改窗口——而不是视图——背景 这在AppDelegate中运行良好,但我想知道为什么它必须存在: // Insert code here to initialize your application // Background color [_window setOpaque:NO]; // YES by default NSColor *semiTransparentBlue = [NSColor colorWithDeviceRed:0.0 green:0.0 bl
// Insert code here to initialize your application
// Background color
[_window setOpaque:NO]; // YES by default
NSColor *semiTransparentBlue =
[NSColor colorWithDeviceRed:0.0 green:0.0 blue:1.0 alpha:0.5];
[_window setBackgroundColor:semiTransparentBlue];
如果我把它移到另一个类,把它放到
- (id)initWithFrame:(NSRect)frame, or
- (void)drawRect:(NSRect)dirtyRect,
与
#导入“AppDelegate.h”
在课堂上,
它可以正确编译,但无法更改窗口,即使断点显示正在访问该窗口
为什么它必须在AppDelegate中?是否所有窗口更改都必须在AppDelegate中?有没有参考资料可以解释
我无法通过大量的谷歌搜索找到任何指导。Apple文档显示了一行行代码,显示了要做什么,但没有显示放置它们的位置。没有看到启动“其他类”的代码,这可能是UIView的子类,这是一种预感,但 _窗口可能设置不正确。您可以通过调用 [[UIApplication sharedApplication]委托].window
尝试设置颜色和不透明。这是标记的iOS,但您引用的是Cocoa类。您如何获取引用窗口?不要求在给定模块中执行给定的代码行以实现其功能。需要的是它在适当的时间执行,并使用适当的数据。不知何故,您没有在正确的时间执行代码,或者您没有正确的数据。最好的猜测是当代码执行时,
\u window
是nil。maddy:不知何故,这被标记为ios——首先——尽管我选择了Xcode、objective-c和ios。我相信这关系到所有人。我使用的是iMac.picciano:正如我前面提到的,类中有#import“AppDelegate.h”。抱歉,我在OSX中,不是在ios中。对不起,我在OSX中,不是在ios中。坏消息:新的事情正在发生。我只是再次尝试将代码移动到另一个类,但现在它生成了错误“Initializer元素不是编译时常量”,这是以前从未发生过的。我不知道怎么处理这件事。