0

アプリ内の2つの場所で使用されるポップアップを取得しました.1回はナビゲーションコントローラで、もう1回はナビゲーションコントローラなしで、uitoolbar(選択ボタン)で1つのボタンを取得しましたが、このボタンには何らかの理由で独自の寿命があります

ナビゲーションコントローラーのものは完全に機能しています。

しかし、ナビゲーションコントローラーなしで呼び出されたものは、このポップアップのサイズを変更するので、次のようにコードでサイズを変更しました

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

私はグーグル全体を見てきましたが、この問題について何も見つかりません。ここでもっと幸運を祈ります。

4

1 に答える 1

0

おそらく、この問題を解決する簡単な方法は、それを UINavigationController に入れ、それを使用してポップアップすることです。その後、UIToolBar を使用する必要はありません。

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

このようにして、提示しているviewControllerはシンプルなままで、ナビゲーションコントローラーの場合にボタンが機能することがすでにわかっています:)

于 2013-02-28T12:03:19.230 に答える