UIPickerViewクラス

2010. 10. 19
●概要

UIPickerViewクラスは、ピッカービューと呼ばれる糸車やスロットマシーンのような一つ以上の値を設定できるオブジェクトを実装します。

ユーザは、回転するホイールに行で並べられている値から、セレクションインジケータの示す値を選択します。

UIDatePickerクラスは、UIPickerViewのカスタムサブクラスとして、日付と時間の表示に使用することができます。

例として、『時計』アプリケーションの『アラーム』で追加ボタン(『+』)をタップして参照してください。

ピッカービューは、コンポーネントと行から成るユーザインターフェイスを提供します。

コンポーネントはホイールのことで、ホイールは一組のインデックスの付けられたアイテム(行)を持っています。

各コンポーネントは、ピッカービューにおける位置(左から右への)のインデックスも持ちます。

コンポーネントの各行のコンテンツは、文字列またはラベル(UILabel)や画像(UIImageView)などのビューオブジェクトを持ちます。

UIPickerViewオブジェクトには、コンポーネントと行の番号を提供するため、コンポーネントとデータソースを構築するための協調するデリゲートが必要です。

デリゲートはUIPickerViewDelegateプロトコルを採用し、各コンポーネントの行の矩形を描画して返すメソッドを実装する必要があります。

また文字列またはビューといった各コンポーネントの行のコンテンツを提供し、それは通常新しいセレクションまたはデセレクションに応答します。

データソースはUIPickerViewDataSourceプロトコルを採用し、各コンポーネント数と行数を返すメソッドを実装する必要があります。

コンポーネントの行はreloadComponent:メソッド、また全てのコンポーネントの行はreloadAllComponentsメソッドを呼び出すことで動的に変更することができます。

これらのメソッドを呼び出す場合、ピッカービューは新しいコンポーネントと行データをデリゲートに要求し、データソースに新しいコンポーネントと行コンテンツを要求します。

ピッカービューは、あるコンポーネントで選択された値によって、他のコンポーネントの値が変更される場合に再読み込みします。

例えば、あるコンポーネントの行の値を2月から3月に変更した場合、月の日付を表すコンポーネントを再読み込みします。



●タスク

●ビューピッカーのサイズの取得

  numberOfComponents    property
– numberOfRowsInComponent:
– rowSizeForComponent:

●ビューピッカーの再読み込み

– reloadAllComponents
– reloadComponent:

●ビューピッカー内の行の選択

– selectRow:inComponent:animated:
– selectedRowInComponent:

●行とコンポーネントのビューを返す

– viewForRow:forComponent:

●デリゲートの指定

  delegate    property

●データソースの指定

  dataSource    property

●ピッカービューの外観の管理

  showsSelectionIndicator    property



●プロパティ



●インスタンスメソッド

rowSizeForComponent:

- (CGSize)rowSizeForComponent:(NSInteger)component

指定したコンポーネントの行のサイズを返します。

これは一般的にコンポーネント内の行で用いる際の、表示する最大文字列やビューのサイズを求めるために使用されます。

ピッカービューはこのプロパティの値を、pickerView:widthForComponent:pickerView:rowHeightForComponent:デリゲートメソッドを呼び出して取得し、キャッシュします。

デフォルトの値は (0,0)です。

component:コンポーネントを識別する0から始まる番号を指定します。


selectedRowInComponent:

- (NSInteger)selectedRowInComponent:(NSInteger)component

指定したコンポーネントで選択された行のインデックスを返します。

戻り値は選択された行の0から始まるインデックス番号、または行が選択されなかった場合は-1を返します。

component:pickerViewのコンポーネントを識別する0から始まる番号を指定します。


selectRow:inComponent:animated:

- (void)selectRow:(NSInteger)row inComponent:(NSInteger)component animated:(BOOL)animated

ピッカービューの指定したコンポーネントの行を選択します。

row:componentの行を識別する、0から始まる番号を指定します。

component:ピッカービューのコンポーネントを識別する、0から始まる番号を指定します。

animated:YESの場合、新しい値が選択された場合にホイール(コンポーネント)が回転するアニメーションを行い、NOを指定した場合は選択された新しい値がすぐに表示されます。



参考文献

UIPickerView Class Reference






SoundSport Pulse wireless headphones
0 Comments
Leave a comment
管理者にだけ表示を許可する
Top
0 Trackbacks
Top
Calendar
04 | 2017/05 | 06
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

SoundSport Pulse wireless headphones
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