我正在寻找4天但无法达成任何解决方案。
在我的iOS应用程序中,我尝试使用推送通知,那里没有问题。我收到通知,并使用didReceiveRemoteNotification
方法使用以下代码,我可以毫无问题地访问详细信息视图。
NSDictionary *aps = [userInfo objectForKey:@"aps"];
NSArray *array = [[aps objectForKey:@"acme"] componentsSeparatedByString:@","];
NSArray *fixtureArray = [[CreateFixture alloc] createFixtureWithArray:array andStyle:@"single"];
UINavigationController *navController = (UINavigationController *)self.window.rootViewController;
UIViewController *root = navController.topViewController;
FPViewController *vc = [[FPViewController alloc] init];
[vc createViewWithArray:fixtureArray];
NSArray *vcs = [NSArray arrayWithObjects:root, vc, nil];
[navController setViewControllers:vcs animated:YES];
当我完全关闭应用并发送通知时,我的应用会按预期以didFinishLaunchingWithOptions
打开。我在以下if
语句中使用相同的代码:
if (launchOptions != nil)
{
NSDictionary* dictionary = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
if (dictionary != nil)
{
same code above
}
}
BUT !!!这次我的细节视图出现了不同的x和宽度高度。所以应用程序变得无用。一些标签和按钮没有看到一些视图更大和一些其他视图。 ©找不到任何解决方案请帮助! (所有视图,标签,按钮等都是以编程方式创建的)我正在使用autoresizingMask进行横向和纵向窗口。我对任何建议持开放态度。谢谢你的帮助。
答案 0 :(得分:0)
我认为覆盖drawRect
方法可以解决这个问题。并在drawRect方法中设置框架
答案 1 :(得分:0)
我不知道有什么区别,但更改推送详细信息视图代码可以解决问题。
这是我的旧代码
NSDictionary *aps = [userInfo objectForKey:@"aps"];
NSArray *array = [[aps objectForKey:@"acme"] componentsSeparatedByString:@","];
NSArray *fixtureArray = [[CreateFixture alloc] createFixtureWithArray:array andStyle:@"single"];
UINavigationController *navController = (UINavigationController *)self.window.rootViewController;
UIViewController *root = navController.topViewController; //delete
FPViewController *vc = [[FPViewController alloc] init];
[vc createViewWithArray:fixtureArray];
NSArray *vcs = [NSArray arrayWithObjects:root, vc, nil]; //delete
[navController setViewControllers:vcs animated:YES]; //delete
我删除了root viewcontroller和setViewControllers:方法。
并添加了pushViewController:animated:method。
[navController pushViewController:vc animated:YES];
希望有一个同样问题的人不要放松5天。祝你好运。