2013-02-28 75 views
0

我得到了彈出窗口,在我的應用程序中的2個位置使用,一次導航控制器一次沒有導航控制器, 我在uitoolbar中有一個按鈕(選擇按鈕)但這個按鈕有它自己的生活出於某種原因UIBarButtonItem註冊按鈕旁邊的點擊事件,而不是按鈕

導航控制器中的一個工作正常。

但是,所以我的代碼調整回像

- (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

也許簡單的方法來解決這個問題是把它放在一個UINavigationController並使用它彈出。那麼你不必使用UIToolBar。

UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:viewControllerToPopUp]; 
    [viewController setModalPresentationStyle:UIModalPresentationFormSheet]; 
    [self presentModalViewController:navController animated:YES]; 

這種方式的viewController你呈現停留簡單,你已經知道了按鈕的作品時,它是一個導航控制器:)