私はiphone.iの新機能です。自分のプロジェクトにリマインダーアプリケーションを実行しています。私はリマインダーのタイトルとデータのような入力値を取得したい& uiactionsheet.iからの時間は、アクションシートにdatepickerとuitextfieldを作成しました。私は、彼らが私はテキストフィールドUIActionsheetの中でUITextFieldsを操作するには?
-(void)btnSetRemainderTapped:(id)sender
{
UIActionSheet *menu = [[UIActionSheet alloc] initWithTitle:@"Select reminder date and time"
delegate:self
cancelButtonTitle:@"Cancel"
destructiveButtonTitle:@"Save"
otherButtonTitles:nil,nil];
menu.tag =10;
[menu showInView:self.view];
menu.userInteractionEnabled=YES;
UITextField *txtReminderTitle= [[UITextField alloc] initWithFrame:CGRectMake(20.0, 180, 280.0, 40.0)];
[txtReminderTitle setTag:99];
[txtReminderTitle setBackgroundColor:[UIColor whiteColor]];
[txtReminderTitle setFont:[UIFont boldSystemFontOfSize:17]];
[txtReminderTitle setBorderStyle:UITextBorderStyleNone];
[txtReminderTitle setTextAlignment:UITextAlignmentCenter];
txtReminderTitle.borderStyle = UITextBorderStyleRoundedRect;
txtReminderTitle.keyboardType = UIKeyboardTypeDefault;
txtReminderTitle.returnKeyType = UIReturnKeyDone;
txtReminderTitle.delegate =self;
[menu addSubview:txtReminderTitle];
UIDatePicker *pickerView = [[UIDatePicker alloc] init];
pickerView.datePickerMode = UIDatePickerModeDateAndTime;
pickerView.tag =9999;
[menu addSubview:pickerView];
CGRect menuRect = menu.frame;
NSInteger orgHeight = menuRect.size.height;
menuRect.origin.y -= 270; //height of picker
menuRect.size.height = orgHeight+270;
menu.frame = menuRect;
CGRect pickerRect = CGRectMake(20, 250, 280, 200);
pickerView.frame = pickerRect;
}
-(void) actionSheet:(UIActionSheet *)actionSheet willDismissWithButtonIndex:(NSInteger)buttonIndex
{
UIDatePicker *datePicker = (UIDatePicker *)[actionSheet viewWithTag:9999];
NSDateFormatter *df = [[NSDateFormatter alloc] init];
df.dateStyle = NSDateFormatterLongStyle;
[df setTimeStyle:NSDateFormatterShortStyle];
UITextField * txtReminderTitle = (UITextField *)[actionSheet viewWithTag:99];
NSLog(@"%@",txtReminderTitle.text); //it print null value
}
に表示されていないタイプされたactionsheetは、私がテキストフィールドをクリックしたtextfield.whenが表示されたキーパッドが表示されますが、means..when動作していませんなぜキーボードからの入力を受け付けていないのか分かりません。助言がありますか?
これは 'UIActionSheet'の悪用です。これは目的ではありません。標準UIコンポーネントは、設計されていない方法で使用しないでください。 Appleが「UIActionSheet」の仕組みやiOSの将来のバージョンでの外観を完全に変更したらどうなるのでしょうか?必要なものを表示するための独自のカスタムビューを作成します。 – rmaddy
でも、UITextFieldをUIActionSheetに配置する必要がありますか?それをUIAlertViewに入れるのはとてもシンプルできれいです。 – iPatel
なぜあなたはUIActionsheet ..の代わりにAlertを使用しないのですか? –