我无法在+(无效)加载和+(无效)初始化方法在目标c中找到当前的UIwindow?
我想使用下面的代码找到当前窗口。我无法在+(无效)加载和+(无效)初始化方法在目标c中找到当前的UIwindow?
AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate];
//[[[UIApplication sharedApplication] keyWindow] addSubview:[[CompanyLogo alloc] init]];
[appDelegate.window addSubview:[[CompanyLogo alloc] init]];
使用本:
[[[UIApplication sharedApplication] keyWindow] addSubview:[[CompanyLogo alloc] init]];
如果在'+(void)load'或'+(void)initialize'中执行,将会失败 –
Sargis Gevorgyan, 我已经试过这个代码。它不是可用的 – user3310410
也许你的CompanyLogo视图框架是CGRectZero? 试试这个代码 CompanyLogo * companyLogo = [[CompanyLogo alloc] init]; companyLogo.frame = CGRectMake(0.0f,0.0f,100.0f,100.0f); companyLogo.backgroundColor = [UIColor redColor]; [[[UIApplication sharedApplication] keyWindow] addSubview:companyLogo]; –
类的方法+(void)load
和+ (void)initialize
已创建您的视图层次之前都调用。不要把你的代码放在那里。请将其放入application:didFinishLaunchingWithOptions:
方法中。
Duncan,我正在创建自定义框架类,该框架在应用程序启动时自动初始化,框架中有一些隐藏类。 – user3310410
当你这样做会发生什么? – matt