我得到了弹出窗口,在我的应用程序中的两个位置使用,一次在导航控制器中一次没有导航控制器, 我在uitoolbar中有一个按钮(选择按钮),但是这个按钮因为某种原因而拥有它自己的生命
导航控制器中的那个工作正常。
但没有导航控制器调用的那个调整了弹出窗口的大小,所以我将其重新调整为代码,如
- (void)showModal:(UIViewController *)controller
{
[controller setModalPresentationStyle:UIModalPresentationFormSheet];
[self presentViewController:controller animated:NO completion:nil]; //Method used without navigationcontroller
[controller.view setBounds:CGRectMake(0,0, 600, 748)]; //resize => button doesn't work at all
//[controller.view setFrame:CGRectMake(0, 0, 600, 748)]; //resize => button only registers click event left from the actual button
//[[NSNotificationCenter defaultCenter] postNotificationName:@"show modal" object:controller]; // Method used within navigationcontroller
}
我一直在寻找谷歌,但我找不到任何关于这个问题的信息。 希望我在这里有更多的运气。
答案 0 :(得分:0)
解决这个问题的简单方法可能就是将它放在UINavigationController中并使用它来弹出。然后你不必使用UIToolBar。
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:viewControllerToPopUp];
[viewController setModalPresentationStyle:UIModalPresentationFormSheet];
[self presentModalViewController:navController animated:YES];
这样你呈现的viewController保持简单,你知道按钮在导航控制器时有效:)