我有UITextField
。我将 UIDatePicker
设置为此 UITextField
UITextField *dateField = [[UITextField alloc] init];
dateField.frame = CGRectMake(30, 180, 260, 30);
dateField.delegate = self;
[self addSubview:dateField];
UIDatePicker *datePicker = [[UIDatePicker alloc]init];
[datePicker setDate:[NSDate date]];
datePicker.frame = CGRectMake(0, 568 - 100, 320, 100);
[datePicker addTarget:self action:@selector(updateTextField:) forControlEvents:UIControlEventValueChanged];
[dateField setInputView:datePicker];
-(void)updateTextField:(id)sender
{
NSLog(@"SENDER = %@", sender);
}
有没有办法在updateTextField
方法中获取UITextField
最佳答案
是的,您可以像这样获取对 textView 的引用:
-(void)updateTextField:(id)sender
{
UIDatePicker *datePicker = (UIDatePicker*) sender;
UITextField *dateField = (UITextField*)datePicker.inputView;
}
//扩展
抱歉我的错误,我以为您将文本字段添加为数据选择器的输入 View 。 您可以执行所需操作的另一种方法是将标签分配给您设置的 TextView :
UITextField *dateField = [[UITextField alloc] init];
dateField.frame = CGRectMake(30, 180, 260, 30);
dateField.tag = 10;
dateField.delegate = self;
[self addSubview:dateField];
在你的方法 updateTextField: 中你可以像这样访问它:
UITextField *dateField = (UITextField*)[self viewWithTag:10];
关于ios - 从 inputView 获取 UItextField,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21331714/