2011-01-31 9 views
1

私はUIActionSheetを使用して、一連の選択肢をユーザーに提示しています。 iPhoneとiPod Touchでは正常に動作しますが、iPadでは「キャンセル」オプションは常に隠されています。つまり、オプションの「ダイアログボックス」が表示されますが、「キャンセル」ボタンが表示されません。UIActionSheet cancelButtonTitle ipad

ここでは、コードです:

self.popupQuery = [[[UIActionSheet alloc] initWithTitle:title 
               delegate:self 
             cancelButtonTitle:cancelButtonTitle 
           destructiveButtonTitle:nil 
             otherButtonTitles:option0, option1, cancelButtonTitle, nil] autorelease]; 

UIActionSheet docs状態:

cancelButtonTitle: キャンセルボタンのタイトルは。このボタンはアクションシートに自動的に追加され、cancelButtonIndexプロパティから使用可能な適切なインデックスが割り当てられます。このボタンは黒で表示され、キャンセルアクションを表すことを示します。キャンセルボタンを表示したくない場合、またはiPad上にアクションシートを提示している場合は、nilを指定します。

私は何も起こっていないので、何も起こっていないと思います。これはバグですか?

+0

[iPadで[キャンセル]ボタンを表示しないアクションシート](の可能性重複http://stackoverflow.com/questions/2760545/action-sheet-doesnt- show-cancel-button-on-ipad) – BoltClock

+0

「cancelButtonTitle」の値は何ですか?値がnilの場合、ボタンは表示されません。 – WrightsCS

答えて

6

あなたのUIActionSheetをどのように表示しているかによって異なる場合がありますが、UIActionSheet の外側をタップすると、iPadのキャンセルボタンはになります。

UIActionSheetを表示する別の方法があるかもしれませんが、デフォルトではキャンセルボタンは表示されません。

EDIT:

a very similar questionanother answerによると、あなたがキャンセルボタンを作ることができるのiOS 4.2と、次のコードを使用して、前に表示されます。 iOS 4.2.1では、これは変更されているように見え、もう機能しなくなることに注意してください。

actionSheet.actionSheetStyle = UIActionSheetStyleBlackOpaque; 

またはこの:

actionSheet.actionSheetStyle = UIActionSheetStyleDefault; 
+0

ありがとう、Moshe。うん、問題は嘘だ。私はどのように私は他のqを逃したか分からない。 –

関連する問題