2011-01-04 9 views
3

iOS Human Interface Guidelinesを読んでいると、削除する前にユーザーに確認させる方法がないようです。ガイドラインは、UIAlertViewとUIActionSheetを扱うときの3つの事項をリストしています。ヒューマンインターフェイスのガイドラインに従ってiPadで削除確認を行う方法

  • ユーザーが開始したアクションを確認するためにアラートビューを使用しないでください。
  • アクションシート(iPad上)に「キャンセル」ボタンを含めないでください。
  • アクションシートには少なくとも2つのボタンが必要です。

だから私はユーザーに何かを削除したいことを確認させる必要があります。それらを提示する唯一の選択肢は、事実を削除するか、何もしない(キャンセルする)ことです。アクションシートの外側をクリックして何もしないことを選択できます。しかし、これはアクションシートのための1つのボタンを残すだけです。削除の確認はどうしたらいいですか?

iPhoneには、この目的に最適なアクションシートのモーダル/アニメーションバージョンがあります。しかし、iPadはアクションシートの提示方法を完全に変えてしまいます。ドキュメンテーションによれば、あなたはまだアクションシートをモーダルとしてiPad上にアニメーションで提示することができます。アニメーションがYESでもNOでも、まったく同じように見え、動作することがわかった。

+0

私の関連する質問はしばらく前からです。それは決して応答を得なかった。別の質問ですが、同じ一般的なトピック:http://stackoverflow.com/questions/4078871/using-uiactionsheet-on-ipad – GendoIkari

+0

btw多くのアプリは、ユーザーが開始したアクションを確認するために警告表示を使用し、拒否されていません^) – Sergnsk

+0

Apple Appleアラートビューを使用して、ユーザーが開始したアクションを自分のソフトウェアで確認します。作成し、設定でVPNを削除してみてください。 Appleとは一貫性がありません。 – conradev

答えて

1

私のアプリに「ダウンロードをキャンセルする」UIActionSheetが表示され、ダウンロードをキャンセルすることが確認できます。 self.cancelUIToolbarUIButtonある

UIActionSheet *action = [[UIActionSheet alloc] initWithTitle:nil 
                delegate:self 
              cancelButtonTitle:nil 
             destructiveButtonTitle:@"Cancel downloads" 
              otherButtonTitles:nil]; 
[action showFromRect:self.cancel.frame inView:self animated:NO]; 
[action release]; 

:私はこのようにそれを示しています。これにより、写真アプリの「削除」確認と同じ効果が得られます。アップルがソフトウェアのためにそれをするなら、私はそれが大丈夫だと私は思う...

これは助けてくれるだろう!

1

UIActionSheetをタップすることは、キャンセルすることと同じです。そして、UIActionSheetはそれを呼び出すオプションの上に(そして通常は指し示す)小さなウィンドウでしかないので、ユーザの注意を所有していません。その場合の仮定された直感的なアクションは、UIActionSheetを取り除いて消えさせることです。つまり、キャンセルボタンと同じです(そして、あまりにも曖昧な文書によれば、あなたが「時には別のボタンを必要としない理由」)。 UIActionSheet documentation pageから

iPadのアクションシートを提示し、あなたがキャンセルボタンを含めるべきではない時間があります。アクションシートのみを表示している場合、アニメーションを使用せずにアクションシートがポップオーバー内に表示されます。ポップオーバーの外側にあるタップは項目を選択せず​​にアクションシートを閉じるので、シートをキャンセルするデフォルトの方法になります。したがって、キャンセルボタンを含めると、混乱の原因となります。ただし、既存のポップオーバーがあり、アニメーションを使用して他のコンテンツの上にアクションシートを表示している場合は、キャンセルボタンがまだ適切です。詳細については、「iOSヒューマンインタフェースガイドライン」を参照してください。

actionSheet:clickedButtonAtIndex:メソッドを実装すると、UIActionSheetをタップするとボタンインデックス-1が返されます。他のボタンは0のインデックスから始まります。

私は、アップルのガイドラインがいくつかのシナリオでは一貫性がないか不可能であると考えています。しかし、ドキュメントの言語やHIGの読書のように、あなたの実装で意味をなさない場合は、それが意味をなさない条件を満たし、あまり汗をかいてはならないと思われます。

関連する問題