ピッカーのみを表示してキーボードを非表示にしようとしていますが、最初のテキストフィールドでのみ機能しています。
最初のテキストフィールドをクリックするとピッカーがポップアップしますが、他のテキストフィールドをクリックするとキーボードがポップアップします。
ピッカーのみを表示するにはどうすればよいですか?
------------ 私のコード --------
ViewController.h
interface ViewController : UIViewController <UITextFieldDelegate >{
IBOutlet UIDatePicker *myDatePicker;
UITextField* myTextField;
int x ; int y ; int w ; int h ; int moretext ; } @end
ViewController.m
- (void)viewDidLoad {
myTextField.delegate = self;
[super viewDidLoad];
プラグマ マーク - myTextField
x = 36; y = 50; w = 36; h = 25 ; moretext = 0 ;
for (moretext=0; moretext<7; moretext ++) {
myTextField = [[UITextField alloc]initWithFrame:CGRectMake(x, y, w, h)];
myTextField.textAlignment = NSTextAlignmentCenter;
myTextField.backgroundColor = [UIColor grayColor];
myTextField.font = [UIFont fontWithName:@"Helvetica" size:(17)];
myTextField.layer.borderWidth = 0.70 ;
myTextField.layer.borderColor =[ UIColor orangeColor].CGColor ;
myTextField.returnKeyType = UIReturnKeyDone;
x+=36 ;
[self.view addSubview:myTextField];
}
プラグマ マーク - myDatePicker
myDatePicker.date = [NSDate date];
[myDatePicker addTarget:self action:@selector(pickerChanged:) forControlEvents:UIControlEventValueChanged];
myTextField.inputView = myDatePicker; //link text filed with picker
プラグマ マーク - UIToolbar
UIToolbar* toolBar = [[UIToolbar alloc] init];
toolBar.barStyle = UIBarStyleBlack;
toolBar.translucent = YES;
toolBar.tintColor = nil;
[toolBar sizeToFit];
UIBarButtonItem* doneButton = [[[UIBarButtonItem alloc] initWithTitle:@"Done"
style:UIBarButtonItemStyleBordered target:self
action:@selector(pickerHide:)] autorelease];
[toolBar setItems:[NSArray arrayWithObjects:doneButton, nil]];
myTextField.inputAccessoryView = toolBar;
[toolBar release]; }
プラグマ マーク - datePickerChanged
- (void)pickerChanged:(id)sender{
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"h:mm"];
NSString* myDate = [formatter stringFromDate:myDatePicker.date];
NSLog(@"date is: %@", myDate);
myTextField.text = myDate;
[formatter release]; }