[英]UIDatePicker Event Changed
我寫一個簡單的iOS應用程序只是為了學習,在我的情況下我需要使用UIDatePicker
,在用戶更改日期后,我需要將此日期寫入UITextField
,這里是代碼:
.h文件
@interface ExpenseViewController: UIViewController<UITextFieldDelegate>
@property (strong,nonatomic) IBOutlet UITextField *editTextDate;
- (void) updateTextFieldDate:(UIDatePicker *)pickerL;
@end
.M
@implementation ExpenseViewController
@synthesize ediTextDate;
- (void) viewDidLoad
{
[super viewDidLoad]
UIDatePicker *datePicker;
datePicker = [[UIDatePicker alloc]init];
[datePicker setDate:[NSDate date]];
[datePicker setDatePickerMode:UIDatePickerModeDate];
[datePicker removeTarget:self action:nil forControlEvents:UIControlEventValueChanged];
[datePicker addTarget:self action:@selector(updateTextFieldDate:) forControlEvents:UIControlEventValueChanged];
[editTextDate setInputView:datePicker];
}
- (void) updateTextFieldDate:(UIDatePicker *)pickerL{
UIDatePicker *picker=(UIDatePicker*)self.editTextdate.inputView;
editTextDate.text=[NSString stringWithFormat:@"%@",picker.date];
}
@end
但是我收到了這個錯誤:
ExpenseViewController updateTextFieldDate:]:unrecognized selector sent to instance 0x8d395f0
誰能幫我?
謝謝。
你的代碼在我的系統上運行正常,但是當在@selector(updateTextFieldDate :)中錯誤輸入方法名稱時,我得到完全相同的錯誤。
我知道,愚蠢的建議,但是你可能在代碼中有拼寫錯誤,即使你在這里展示的東西沒有嗎? 合成中的錯字使得它看起來像你在這里鍵入你的類而不是復制粘貼,所以也許xcode版本在@selector部分有拼寫錯誤?
這是因為你正在合成的textfield屬性editTextDate
是錯誤的ediTextDate
(意味着缺少t ),所以用** editTextDate **替換它。
並替換您的代碼
UIDatePicker *picker=(UIDatePicker*)self.editTextdate.inputView; // wrong editTextdate , it is editTextDate
有了這個 :
UIDatePicker *picker=(UIDatePicker*)self.editTextDate.inputView;
然后你的代碼將正常工作。
希望它能幫到你。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.