IOS開発-tePickerがtextfieldを叩くと表示


最近、プロジェクトで問題が発生しました.1つの設定ページに2つの入力ボックスがあり、ユーザーにノックさせたい場合は、日付コントロールをポップアップし、日付時間を選択します.Baiduは一度見て、完全な解決策がないことに気づいて、今解決して、分かち合います.
textfieldのinputviewとinputAccessoryViewの2つのプロパティを使用できます.datePickerを作成し、2つのtextfieldのinputviewプロパティに値を割り当てます.Doneボタンを含むtoolbarを作成し、inputAccessoryViewプロパティに値を割り当てます.このDoneでinputviewを終了する必要があります.
Doneのイベント処理:
if ( [textField1 isFirstResponder] ) { [textField1 resignFirstResponder]; } else if ( [textField2 isFirstResponder] ) { [textField2 resignFirstResponder]; }

Example
@interface CustomKeyboardAppDelegate : NSObject <UIApplicationDelegate> { ... @property (nonatomic, retain) IBOutlet UIWindow *window; @property (nonatomic, retain) IBOutlet UITextField *textField; @property (nonatomic, retain) IBOutlet UIToolbar *accessoryView; @property (nonatomic, retain) IBOutlet UIDatePicker *customInput; - (IBAction)dateChanged:(id)sender; - (IBAction)doneEditing:(id)sender; @end

XIBファイルでは、UItoolbarとUIdatePickerをドラッグしますが、ビューの外にドラッグしないでください.適切な接続Outlets.DateChanged:datepickerのValueChangesに応答し、doneEditing:ToolBarのDoneボタンでクリックされたときに呼び出されます(Connection->Sent Actions->selectors).以下に実装を示します.
@implementation CustomKeyboardAppDelegate @synthesize window=_window; @synthesize textField = _textField;
 @synthesize accessoryView = _accessoryView; @synthesize customInput = _customInput; - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {  self.textField.inputView = self.customInput;  self.textField.inputAccessoryView = self.accessoryView;  ... } ... - (IBAction)dateChanged:(id)sender {  UIDatePicker *picker = (UIDatePicker *)sender;  self.textField.text = [NSString stringWithFormat:@"%@", picker.date]; } - (IBAction)doneEditing:(id)sender {  [self.textField resignFirstResponder]; } @end

 
学習の過程で、間違いは指摘して、交流を歓迎して、共に学習します;
Demo:http://download.csdn.net/detail/xdrt81y/5858521
転載して分かち合うことを歓迎して、出典を明記してくださいhttp://blog.csdn.net/xdrt81y