AppDelegate无法添加subView

时间:2012-01-29 11:54:21

标签: objective-c xcode4.2 loadview

由于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;
}

任何方面的任何帮助都将得到真正的赞赏并感谢您的时间。 :)

1 个答案:

答案 0 :(得分:2)

addSubview而不是addSubView:UIWindowUIView的子类。

通常不建议将视图直接添加到窗口作为子视图,因此您应该尝试将视图作为子视图添加到顶层控制器视图中。如果你可以节省一些时间,你应该查看view programming guideview controller programming guide,它将来会很有用。