UIActionSheetクラス

2010. 10. 19
●概要

UIActionSheetクラスは、タスクを続行するにあたり、ユーザに選択肢を提示して設定を行う場合に使用します。

また潜在的に危険なアクションについて、ユーザの承認を得る場合にアクションシートを使用することができます。

アクションシートはオプションのタイトルと一つ以上のボタン、それぞれに対応する取るべきアクションを含みます。

このクラスのプロパティとメソッドを使って、アクションシートのメッセージ、スタイル、ボタンを提示前に構成します。

また、アクションシートにはデリゲートを割り当てる必要があります。

デリゲートオブジェクトはUIActionSheetDelegateプロトコルに準拠し、任意のボタンをタップした際に関連付けされているアクションを実行する責任があります。

デリゲートのメソッドの実装についての詳細は『UIActionSheetDelegateプロトコル』を参照してください。

アクションシートは、ツールバー、タブバー、ボタンバーアイテム、ビューから提示することができます。

このクラスでどのようにアクションシートを提示するかは、開始するビューと現在のプラットフォームを考慮して決定してください。

iPhoneとiPod touchデバイスでアプリケーションを実行する場合、通常は自身のビューのウィンドウの下端からスライドアップしてアクションシートが表示されます。

iPadデバイスでアプリケーションを実行する場合、通常は開始したビューに結びつき、適切な方法でポップオーバーしてアクションシートが表示されます。

ポップオーバーの外側をタップしたり任意のカスタムボタンをタップした場合は、自動的にアクションシートは破棄されます。

またプログラムで破棄することもできます。

iPadでアクションシートを提示する時、キャンセルボタンを含めてはならない場合があります。

アクションシートを提示する際に、システムはポップオーバーの内側にアニメーションを使わないでアクションシートを表示します。

なぜなら、アイテムを選択せずにポップオーバーの外側をタップした場合にアクションシートを破棄することが、シートをキャンセルするデフォルトの方法になっているからです。

したがって、キャンセルボタンを含めると混乱の元になります。

しかし、既存のポップオーバーと他のコンテンツの上にアニメーションを使ってアクションシートを表示する場合は、キャンセルボタンは適しています。

詳細は『iOSヒューマンインターフェイスガイドライン』を参照してください。

重要iPhone OS 4.0以降は、アクションシートは自動的に破棄されませんが、バックグラウンドにアプリケーションが移動します。
この動作は以前のOSバージョンとは異なり、アクションシートの自動的なキャンセル(とキャンセルハンドラの実行)は、アプリケーションの終了シーケンスの一部となっているためです。
この状態は、アクションシートの破棄を決定する(そしてキャンセルハンドラが実行される)、またはアプリケーションがバックからフォアグラウンドに移動してアクションシートが取り除かれるまで続きます。
(※以下、訳しきれなかったので原文を掲載します)
Remember that your application can still be terminated while in the background, so some type of action may be necessary in either case.



●タスク

●アクションシートの生成

– initWithTitle:delegate:cancelButtonTitle:destructiveButtonTitle:otherButtonTitles:

●プロパティの設定

  delegate    property
  title    property
  visible    property
  actionSheetStyle    property

●ボタンの構成

– addButtonWithTitle:
  numberOfButtons    property
– buttonTitleAtIndex:
  cancelButtonIndex    property
  destructiveButtonIndex    property
  firstOtherButtonIndex    property

●アクションシートの提示

– showFromTabBar:
– showFromToolbar:
– showInView:
– showFromBarButtonItem:animated:
– showFromRect:inView:animated:

●アクションシートの破棄

– dismissWithClickedButtonIndex:animated:



●プロパティ

cancelButtonIndex

@property(nonatomic) NSInteger cancelButtonIndex

キャンセルボタンのインデックス番号です。

ボタンを示す値は0から始まります。

プロパティのデフォルトの値は通常-1で、キャンセルボタンが設定されていないことを示します。

しかしinitWithTitle:delegate:cancelButtonTitle:destructiveButtonTitle:otherButtonTitles:メソッドは、自動的にキャンセルボタンの生成と設定を行います。

上記メソッドを使ってキャンセルボタンの生成をする場合は、このプロパティの値を変更しないでください。

iPadでアクションシートを提示する場合、キャンセルボタンを含めることはできません。

キャンセルボタンを含める場合の詳細は『iOSヒューマンインターフェイスガイドライン』を参照してください。



●インスタンスメソッド

initWithTitle:delegate:cancelButtonTitle:destructiveButtonTitle:otherButtonTitles:

- (id)initWithTitle:(NSString *)title delegate:(id < UIActionSheetDelegate >)delegate cancelButtonTitle:(NSString *)cancelButtonTitle destructiveButtonTitle:(NSString *)destructiveButtonTitle otherButtonTitles:(NSString *)otherButtonTitles, ...

指定した開始パラメータを使用してアクションシートを初期化します。

戻り値は新規に初期化されたアクションシートです。

アクションシートは自動的に外観の破棄とキャンセルボタンを設定します。

アクションシートがボタンを一つしか含まない場合、破棄とキャンセルボタンに関連付けされているカスタムカラーを適用しません。

title:アクションシートのタイトルエリアに表示する文字列を指定します。
タイトルエリアにテキストを表示したくない場合はnilを指定します。

delegate:レシーバのデリゲートオブジェクトを指定します。
このパラメータはnilにする可能性もありますが、アクションシートをタップした際にデリゲートが応答するので通常は提供します。

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

destructiveButtonTitle:デストラクティブ(破壊的な)ボタンのタイトルを指定します。
このボタンはアクションシートに自動的に追加され、適したインデックスが割り当てられ、destructiveButtonIndexプロパティから使用できます。
このボタンは赤で表示され、破壊的なアクションを表します。
デストラクティブボタンを使用しない場合はnilを指定します。

otherButtonTitles, ...:追加したい任意のボタンのタイトルを指定します。
このパラメータは文字列のリストで、コンマ区切り、nil終端で構成されます。
例えば2つのボタンを追加する場合の値指定は、『@"Button 1", @"Button 2", nil』となります。


showInView:

- (void)showInView:(UIView *)view

指定したビューにアクションシートを表示させます。

アクションシートの外観はアニメーションされます。

iPadでは、このメソッドは画面の中央にアクションシートを表示します。

一般的にiPadアプリケーションでアクションシートを表示させる場合は、showFromRect:inView:animated:メソッドを代わりに使って表示します。



●定数



参考文献

UIActionSheet Class Reference






Bose SoundLink around-ear wireless headphones II
0 Comments
Leave a comment
管理者にだけ表示を許可する
Top
0 Trackbacks
Top
Calendar
06 | 2017/07 | 08
Sun Mon Tue Wed Thu Fri Sat
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 - - - - -
Recent Articles
iTunes


Swift
Categories
Tips
Profile

水月杏香

Author:水月杏香
永遠の初心者プログラマ。

Wish List
WACOM


ARC
Technical Q&A
情報プロパティリストキー
Start Developing iOS Apps Today
BOSE

Bose SoundLink around-ear wireless headphones II
Reference
NSApplicationDelegateプロトコル
NSArrayクラス
NSAutoreleasePoolクラス
NSBundleクラス
NSBundle UIKit追加分
NSCalendarクラス
NSCoderクラス
NSCodingプロトコル
NSCopyingプロトコル
NSDataクラス
NSDateクラス
NSDateFormatterクラス
NSDictionaryクラス
NSEntityDescriptionクラス
NSEnumeratorクラス
NSErrorクラス
NSExceptionクラス
NSFetchRequestクラス
NSFileHandleクラス
NSFileManagerクラス
NSIndexPathクラス
NSIndexPath UIKit追加分
NSKeyedArchiverクラス
NSKeyedUnarchiverクラス
NSKeyValueCodingプロトコル
NSLocaleクラス
NSManagedObjectクラス
NSManagedObjectContextクラス
NSManagedObjectModelクラス
NSMutableArrayクラス
NSMutableCopyingプロトコル
NSMutableDictionaryクラス
NSMutableSetクラス
NSNotificationクラス
NSNotificationCenterクラス
NSNullクラス
NSNumberクラス
NSObjectクラス
NSObject UIKit追加分
NSObjectプロトコル
NSPersistentStoreクラス
NSPersistentStoreCoordinatorクラス
NSPredicateクラス
NSPropertyListSerializationクラス
NSRunLoopクラス
NSSetクラス
NSStringクラス
NSString UIKit追加分
NSTimerクラス
NSTimeZoneクラス
NSURLクラス
NSURLProtectionSpaceクラス
NSURLRequestクラス
NSUserDefaultsクラス
NSValueクラス

UIActionSheetクラス
UIActionSheetDelegateプロトコル
UIActivityIndicatorViewクラス
UIAlertViewクラス
UIAlertViewDelegateプロトコル
UIApplicationクラス
UIApplicationDelegateプロトコル
UIBarButtonItemクラス
UIBarItemクラス
UIButtonクラス
UIColorクラス
UIControlクラス
UIDatePickerクラス
UIDeviceクラス
UIEventクラス
UIFontクラス
UIGestureRecognizerクラス
UIImageクラス
UIImageViewクラス
UIKit Function
UILabelクラス
UINavigationControllerクラス
UINavigationItemクラス
UIPickerViewクラス
UIPickerViewDataSourceプロトコル
UIPickerViewDelegateプロトコル
UIPinchGestureRecognizerクラス
UIResponderクラス
UIScreenクラス
UIScrollViewクラス
UISearchBarクラス
UISearchBarDelegateプロトコル
UISegmentedControlクラス
UISliderクラス
UISwipeGestureRecognizerクラス
UISwitchクラス
UITableViewクラス
UITableViewCellクラス
UITableViewControllerクラス
UITableViewDataSourceプロトコル
UITableViewDelegateプロトコル
UITapGestureRecognizerクラス
UITextFieldクラス
UITextFieldDelegateプロトコル
UITextInputTraitsプロトコル
UITextViewクラス
UITextViewDelegateプロトコル
UIToolbarクラス
UITouchクラス
UIViewクラス
UIViewControllerクラス
UIWebViewクラス
UIWebViewDelegateプロトコル
UIWindowクラス

AVAudioPlayerクラス
AVAudioPlayerDelegateプロトコル

CADisplayLinkクラス
CAEAGLLayerクラス
CALayerクラス

CGAffineTransform
CGBitmapContext
CGColor
CGColorSpace
CGContext
CGGeometry
CGImage
CGPath

EAGLContextクラス
EAGLDrawableプロトコル

Foundation Constants
Foundation Data Types
Foundation Functions

MPMediaItemクラス
MPMediaItemArtworkクラス
MPMediaPlaylistクラス
MPMediaPropertyPredicateクラス
MPMediaQueryクラス
MPMusicPlayerControllerクラス

Randomization Services

System Sound Services
Amazon


OpenGL ES
SQLite
Monthly Archives
Recent Comments
Recent TrackBacks
RSS Link
Visitors
QR Code
QR