从didReceiveLocalNotification加载新视图

时间:2012-01-15 20:32:21

标签: iphone view localnotification

我一直在寻找解决方案几个小时,我的问题非常简单。 我有一个本地通知触发,我想加载一个新视图,以便在通知被触发并且用户点击“查看”按钮时向用户显示。 这是可能的,如果是这样,我该怎么做?

提前致谢:)

1 个答案:

答案 0 :(得分:0)

在你的appDelegate中输入以下代码:

- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notif {
// show your view here!}

当您的应用收到本地通知时会调用此方法,您还可以在创建通知时使用“notif”对象存储有用的数据。

如果你有一个MyView视图和它的xib文件(比如你将主视图设置为MyView类的MyView.xib)你可以做这样的事情来加载它

在MyView.m中添加一个类方法,从xib创建一个新视图:

+ (id) newMyView
{
    UINib *nib = [UINib nibWithNibName:@"MyView" bundle:nil];
    NSArray *nibArray = [nib instantiateWithOwner:self options:nil];
    MyView *me = [nibArray objectAtIndex: 0];
    return me;
}

然后在本地通知回调中你可以有类似的东西:

MyView *view = [MyView newMyView];
[self.window addSubView:view];

其中window是您在app delegate template中通常拥有的属性。