1

私は一日中これを解決しようとしてきました。mainWindow.xib を 4 インチの iPhone 5 バージョンにアップグレードし、すべての ActionSheets が 4 インチのシミュレーターで正常に動作しました。ただし、3.5 インチ デバイスで縦向きモードでメールの作成をキャンセルすると、アクション シートが完全に表示されません ([キャンセル] ボタンが非表示になります)。

提供されたヘルプに感謝します。

縦向きの問題のスクリーンショットは次のとおりです。

忙しい猫

mainWindow.xib が現在 4 インチ バージョンであるため、アクション シートを表示し、3.5 インチの画面サイズに対抗するために使用しているコードを次に示します。

sheet = [[UIActionSheet alloc] initWithTitle:nil
                                                delegate:self
                                       cancelButtonTitle:@"Cancel"
                                  destructiveButtonTitle:nil
                                       otherButtonTitles:@"Share via iMessage/SMS", @"Share via E-Mail", @"Review App", nil];

            // This code is for the iPhone 5 portrait & landscape, 3.5" landscape, and iPad

            if ([[UIScreen mainScreen] applicationFrame].size.height == 548 | orientation == UIInterfaceOrientationLandscapeLeft | orientation == UIInterfaceOrientationLandscapeRight | UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
            {
                [sheet showInView:self.parentViewController.view];
            }

            // This code is for 3.5" portrait

            else
            {
                [sheet showInView:self.parentViewController.view];
                [sheet setFrame:CGRectMake(0, 220, 320, 320)];
            }
4

1 に答える 1

4

解決策を見つけました。mainWindow.xibのサイズをNoneに変更する必要があり、アプリのデリゲートに次の行を追加します。

self.window.frame = CGRectMake(0, 0, [[UIScreen mainScreen]bounds].size.width, [[UIScreen     mainScreen]bounds].size.height);
于 2012-10-05T12:03:09.890 に答える