ios - 从 inputView 获取 UItextField

标签 ios objective-c uitextfield uidatepicker

我有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/

相关文章:

ios - 错误 "This app does not have access to your photos"

ios - 从 ios 在 soap web 服务中发送参数

ios - 图片不会在Tab Bar Item iOS 9上呈现

ios - 如何在 iOS 上的 Firebase 中获取 FCMToken?

objective-c - NSOpenPanel 第一次访问文件夹后不显示文件

ios - 关于 iOS 辅助功能。如何将焦点转移到 pickerView

ios - 如何设置 UITextField 的字母间距

Swift 粘贴后自动更改文本字段

ios - 如何在 UIScrollView 到达底部时停止滚动

ios - 如何检测字典是否为空或为 null