UIPickerViewで、選択した行のテキストを
表示させる方法をご紹介します。
上の画像でいうと、
11111
222222
などを選択したら、その数字を表示させる方法をご紹介します。
まずは、UIPickerViewを表示させるため、
.hファイルにUIPickerViewDelegate,UIPickerViewDataSourceの
デリゲートを追加し、UIPickerViewを用意します。
そして、UIPickerViewにテキストを表示させるため、
NSMutableArrayを用意します。
【.hファイルの中身】
-----
#import <UIKit/UIKit.h>
@interface XXXX : UIViewController<UIPickerViewDelegate,UIPickerViewDataSource> {
NSMutableArray *activities;
UIPickerView *picker;
}
@end
------
次は.mのファイルの方です。
【.mのファイルの中身】
1、表示させるテキストを指定します。
------
- (void)viewDidLoad {
[super viewDidLoad];
activities = [[NSMutableArray alloc] initWithObjects:
@"11111",
@"222222",
@"33333",
@"4444",
nil];
}
------
2、今回は、列の数が1つなので、return 1を指定します。
------
//設定する列の数をreturnで返します。
- (NSInteger) numberOfComponentsInPickerView:(UIPickerView *)pickerView {
return 1;
}
-------
3、次は列の中の行数を指定します。(0から始まるので、注意しましょう。)
今回は、activitiesで指定したテキストの数を数えて、その分だけ表示させています。
-------
- (NSInteger) pickerView: (UIPickerView*)pView
numberOfRowsInComponent:(NSInteger) component {
return [activities count];
}
-------
4、列(componentの値)、行(rowの値)に対する表示するものを設定します
ここもactivitiesで指定したテキストを数えて、その分だけのテキストを表示します。
------
- (NSString*)pickerView: (UIPickerView*)pView
titleForRow:(NSInteger) row forComponent:(NSInteger)component {
return [activities objectAtIndex:row];
}
-------
5、選択したテキストを表示させるアクションを指定します。
(今回はUIViewPickerの右上にある完了ボタンに以下のアクションを指定しました。)
-------
// 完了ボタンに、以下のメソッドを結びつけます。
-(void)done:(UIButton*)button{
NSIndexPath* indexPath = [NSIndexPath indexPathForRow:contents.count inSection:0];
//選択した行のテキストをmessageに代入します。
NSString *activity = [activities objectAtIndex: [picker selectedRowInComponent:0]];
NSString *message = [[NSString alloc] initWithFormat: @"%@", activity];
//選択した行のテキストをアラートで表示させています。
//messageに代入されているので、messageを表示させれば大丈夫です。
UIAlertView* alert = [[[UIAlertView alloc] init] autorelease];
alert.message = message;
[alert addButtonWithTitle:@"OK"];
[alert show];
}
-------
ぜひお試しくださいー◎
0 件のコメント:
コメントを投稿