3

UIViewController に UITabbar を作成しました。次に、UIActionSheetを追加しましたが、アクションシートが表示されたときに、「キャンセル」ボタンの上部をクリックすると機能しますが、「キャンセル」の下部をクリックすると応答がありません。このコードを使用して、アクションシートを追加しました。

actionSheetDelete = [[UIActionSheet alloc] initWithTitle:@"Do you want to continue?" delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:@"Delete Item(s)" otherButtonTitles:nil];
actionSheetDelete.actionSheetStyle = UIActionSheetStyleBlackOpaque;
[actionSheetDelete showInView:self.view];
[actionSheetDelete release];

アクションシートをクリックすると、常にコンソールにこのアラームが表示されます:

Presenting action sheet clipped by its superview. Some controls might not respond to touches. On iPhone try -[UIActionSheet showFromTabBar:] or -[UIActionSheet showFromToolbar:] instead of -[UIActionSheet showInView:].

何か提案はありますか?前もって感謝します

4

3 に答える 3

2

試す:

[actionSheetDelete showFromTabBar:self.tabBarController.tabBar];
于 2013-08-12T02:10:40.833 に答える
1

UITabBarController のビューで表示できます。

actionSheetDelete = [[UIActionSheet alloc] initWithTitle:@"Do you want to continue?" delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:@"Delete Item(s)" otherButtonTitles:nil];
actionSheetDelete.actionSheetStyle = UIActionSheetStyleBlackOpaque;
[actionSheetDelete showInView:self.tabBarController.view];
[actionSheetDelete release];

または、もう少し堅牢なバージョンは次のようになります。

[actionSheetDelete showInView:[UIApplication sharedApplication].keyWindow];
于 2013-08-12T02:10:26.100 に答える
0

ビュー自体からアクション シートを表示しようとしています。ビュー内にすでに UITabBarController があることを考えると、これは実行できません。したがって、表示されているときにタブバーから設定する必要があります。これにより、タブ バーのビューの下にボタンがロードされず、タブ バーに関連付けられたすべてのアクションを使用できるようになります。

したがって、使用する必要があります

[actionSheetDelete showFromTabBar:];

タブバーがアクションシートが表示される最初の場所になるようにします

于 2013-08-12T03:48:51.150 に答える