繁体   English   中英

从inputView获取UItextField

[英]Get UItextField from inputView

我有UITextField 我将UIDatePicker设置为此UITextField inputView

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;
}

//扩展

对不起我的错误,我以为您将文本字段作为输入视图添加到数据选择器。 您可以执行其他操作的另一种方法是将标签分配给您在其中设置标签的文本视图:

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];

添加它并创建ivar currentTextField

- (void)textFieldDidBeginEditing:(UITextField *)textField {


     currentTextField = textField;


}

updateTextField中的currentTextField将是您的文本字段

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM