由于appDelegate没有视图,只有窗口,很难弄清楚如何从中加载视图。我的问题长期以来一直是当didReceiveLocalNotification触发时我无法加载该事件的新视图。我一直在努力解决这个问题,我必须对此采取一些措施。当我尝试添加子视图时,xcode给出了错误:
Receiver tupe'UIWindow'实例消息未声明带有选择器'addSubView'的方法
为此:(在[self.window addSubView:view];)
screwLightBulbViewController *view = [screwLightBulbViewController newMyView];
[self.window addSubView:view];
我知道appDelegate文件没有addSubview但我想在它触发时切换到特定的视图。
我尝试了很多其他方法,比如在screwLightBulbViewController中调用一个函数并从中创建一个视图。我在viewController中的函数现在看起来像这样:
+(id)newMyView
{
UINib *nib = [UINib nibWithNibName:@"MyView" bundle:nil];
NSArray *nibArray = [nib instantiateWithOwner:self options:nil];
screwLightBulbViewController *me = [nibArray objectAtIndex: 0];
return me;
}
任何方面的任何帮助都将得到真正的赞赏并感谢您的时间。 :)
答案 0 :(得分:2)
addSubview
而不是addSubView:
。 UIWindow
是UIView
的子类。
通常不建议将视图直接添加到窗口作为子视图,因此您应该尝试将视图作为子视图添加到顶层控制器视图中。如果你可以节省一些时间,你应该查看view programming guide和view controller programming guide,它将来会很有用。