2008年

[iPhone 開発メモ] UIPickerView の使用方法 このエントリーを含むはてなブックマーク

iPhone/iPod touch Add comments

UIPickerView の使用方法のメモです。UITableView に使い方は似ています。

  • numberOfComponentsInPickerView で何列にするか指定
  • pickerView: numberOfRowsInComponent で列のセル数を指定
  • pickerView: titleForRow: forComponent でそれぞれの列、セルのラベルを指定
  • pickerView: didSelectRow: inComponent で Picker を動かした後の処理をする

という流れです。

IB で View に UIPickerView を配置する。

UIPickerView を配置

UIPickerView を配置

PickerViewController.h

#import <UIKit/UIKit.h>

@interface PickerViewController : UIViewController <UIPickerViewDelegate>{
	IBOutlet UIPickerView *picker;
}

@property (nonatomic, retain) UIPickerView *picker;

@end

PickerViewController.m

#import "PickerViewController.h"

@implementation PickerViewController

@synthesize picker;

- (void) pickerView: (UIPickerView*)pView didSelectRow:(NSInteger) row  inComponent:(NSInteger)component {
	NSLog(@"row=%d, component=%d", row, component);

	int row1 = [picker selectedRowInComponent:0];
	int row2 = [picker selectedRowInComponent:1];
	int row3 = [picker selectedRowInComponent:2];

	NSLog(@"selected %d, %d, %d", row1, row2, row3);
}

- (NSInteger) numberOfComponentsInPickerView:(UIPickerView *)pickerView {
	return 3;
}

- (NSInteger) pickerView: (UIPickerView*)pView numberOfRowsInComponent:(NSInteger) component {
	return 5*(component+1);
}

- (NSString*)pickerView: (UIPickerView*) pView titleForRow:(NSInteger) row forComponent:(NSInteger)component {
	return [NSString stringWithFormat:@"%d - %d",component, row];
}

// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
    [super viewDidLoad];
    picker.delegate = self;
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
}

- (void)dealloc {
    [super dealloc];
}

@end

IB で Outlet を接続すれば OK です。

e38394e382afe38381e383a3-52

UIPickerView の縦と幅のサイズは固定です。ホイールの幅とセルの高さは調節可能です。

- (CGFloat)pickerView:(UIPickerView *)pickerView rowHeightForComponent:(NSInteger)component {
	return 30.0f;
}

- (CGFloat)pickerView:(UIPickerView *)pickerView widthForComponent:(NSInteger)component {
	return 80.0f;
}
ホイールの幅とセルの高さを調整

ホイールの幅とセルの高さを調整

関連する投稿

2 Responses to “[iPhone 開発メモ] UIPickerView の使用方法”

  1. links for 2009-01-30 - mobilestep Says:

    [...] [iPhone 開発メモ] UIPickerView の使用方法 | Sun Limited Mt. UIPickerView (tags: iphone-dev sdk.UIPickerView) [...]

  2. Richard Choi » Blog Archive » UIPickerView ??? ?? Says:

    [...] ? ???? UIPickerView – ?/? ?? ??? ??? ??, ????? ?? [iPhone 開発メモ] UIPickerView の使用方法 UIPickerView iPad?? UIDatePicker, UIPickerView [...]

Leave a Reply

Additional comments powered by BackType

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS ログイン