ios - Apple 推送通知的应用程序委托(delegate)调用不显示 View Controller

标签 ios objective-c iphone

我在我的应用程序中嵌入了苹果推送通知。弹出通知时,我会看到一个警报 View ,当单击 View 时,我会导航到详细信息 Controller 。但是,在单击查看按钮后,它什么也没做,它卡住了应用程序。这是我在警报 View 中打开详细信息的代码点击:

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
DetailsViewController *list = [[DetailsViewController alloc]initWithNibName:@"Details" bundle:nil];

RearTableViewController *rearView = [[RearTableViewController alloc] init];
UINavigationController *frontNavigationController = [[UINavigationController alloc] initWithRootViewController:list];
UINavigationController *rearNavigationController = [[UINavigationController alloc] initWithRootViewController:rearView];

SWRevealViewController *mainRevealController = [[SWRevealViewController alloc]
                                                initWithRearViewController:rearNavigationController frontViewController:frontNavigationController];

mainRevealController.delegate = self;
[self.window.rootViewController presentViewController:mainRevealController animated:YES completion:nil];
[self.window makeKeyAndVisible];

提前致谢!

最佳答案

//Don't realloc self.window.
//self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
DetailsViewController *list = [[DetailsViewController alloc]initWithNibName:@"Details" bundle:nil];


//Alloc this VC with nib name like initWithNibNamed:bundle:
RearTableViewController *rearView = [[RearTableViewController alloc]initWithNibName:@"RearTableViewController" bundle:nil];
    UINavigationController *frontNavigationController = [[UINavigationController alloc] initWithRootViewController:list];
UINavigationController *rearNavigationController = [[UINavigationController alloc] initWithRootViewController:rearView];

SWRevealViewController *mainRevealController = [[SWRevealViewController alloc]
                                                initWithRearViewController:rearNavigationController frontViewController:frontNavigationController];

mainRevealController.delegate = self;
if(self.window.rootViewController){
      [self.window.rootViewController presentViewController:mainRevealController animated:YES completion:nil];
}
else{
     self.window.rootViewController = mainRevealController;
}
  [self.window makeKeyAndVisible];

希望它能奏效。

关于ios - Apple 推送通知的应用程序委托(delegate)调用不显示 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31238313/

相关文章:

iphone - AQGridView 背景图片

ios - 有没有办法让每次生成元素时都出现随机图像? ( objective-C )

objective-c - 了解有关 UI 设计目的的子类化的更多信息?

ios - 如何使用委托(delegate)将多个对象传递回父 View Controller ?

iphone - Cocos2d CCMenuItem 选择时的动画

iphone - 如何从UIAlertView运行方法

ios - MPMoviePlayerViewController在iOS 7上不起作用

ios - 快速更新 TabController View

android - http post请求改变ios中json对象的顺序(ionic 3)

objective-c - 在事件触发时停止自定义 UIButton 将 titleLabel 重置为 IB 默认值