UIActionSheet
にキャンセルボタンを表示しようとしていますが、表示されません。これは許容できる動作ですか?アドバイスを下さい。
UIActionSheet *actionSheet = [[UIActionSheet alloc]
initWithTitle:@"Are you sure you want to clear the cache?"
delegate:self
cancelButtonTitle:@"No"
destructiveButtonTitle:@"Yes"
otherButtonTitles:nil];
[actionSheet showInView:self.view];
[actionSheet release];
iPadには、表示元に応じて、アクションシートとそのキャンセルボタンに関するいくつかの特別なルールがあります。
アクションシートは、ツールバー、タブバー、ボタンバーの項目、またはビューから表示できます。このクラスは、アクションシートの表示方法を決定するときに、開始ビューと現在のプラットフォームを考慮に入れます。 iPhoneおよびiPodtouchデバイスで実行されているアプリケーションの場合、アクションシートは通常、ビューを所有するウィンドウの下部から上にスライドします。 iPadデバイスで実行されているアプリケーションの場合、アクションシートは通常、適切な方法で開始ビューに固定されたポップオーバーで表示されます。ポップオーバーの外側をタップすると、カスタムボタン内のタップと同様に、アクションシートが自動的に閉じられます。プログラムで却下することもできます。
IPadでアクションシートを提示する場合、キャンセルボタンを含めないことがあります。アクションシートのみを表示している場合、システムはアニメーションを使用せずにポップオーバー内にアクションシートを表示します。ポップオーバーの外側をタップすると、アイテムを選択せずにアクションシートが閉じられるため、デフォルトでシートがキャンセルされます。したがって、キャンセルボタンを含めると、混乱が生じるだけです。ただし、既存のポップオーバーがあり、アニメーションを使用して他のコンテンツの上にアクションシートを表示している場合は、キャンセルボタンが適切です。詳細については、iPadヒューマンインターフェイスガイドラインを参照してください。
詳細な説明のあるリンクは次のとおりです。 http://crazyviraj.blogspot.com/2010/05/showing-cancel-button-in.html