我正在使用故事板开发一个iPad应用程序。在我的应用程序中,我有弹出视图,有两个文本字段和一个按钮。我需要做的意思是,如果我单击按钮,则需要在所选文本框中显示一个文本。我如何找到目前情况下选择的文本框?下面给出示例代码请帮我完成功能。
- (IBAction)buttonPressed:(id)sender {
if(//Here i need to set the condition for check selected text box is first){
texbox1.text=@"User";
}
else{
textbox2.text =@"Admin";
}
}
答案 0 :(得分:4)
将Tag
设置为textfields
在班级中实施UITextFieldDelegate
使用此方法
- (void)textFieldDidBeginEditing:(UITextField *)textField {
if (textField.tag == your tag) {
selectedTextField = textField; //selectedTextField is an UITextfield variable
}
}
在IBAction
- (IBAction)buttonPressed:(UIButton *)sender {
selectedTextField.text = @"abc";
}
//编辑:StackOverFlow的代码功能有问题,无法正常显示
答案 1 :(得分:4)
- (IBAction)buttonPressed:(id)sender {
if([textbox1 isFirstResponder]){
//Cursor on textbox1
texbox1.text=@"User";
}
else if([textbox2 isFirstResponder]){
//Cursor on textbox2
textbox2.text =@"Admin";
}
else{
NSLog(@"None of them have cursor");
}
}
答案 2 :(得分:0)
如果我理解你的问题,我认为以下代码就是你想要的: -
- (IBAction)buttonPressed:(UIButton *)sender {
if(self.texbox1.isFirstResponder){
self.texbox1.text=@"User";
[self.texbox1 resignFirstResponder];
}
if(self.texbox2.isFirstResponder){
self.texbox2.text=@"Admin";
[self.texbox2 resignFirstResponder];
}
}
我不确定你为什么要如上所述实施,因为它有点滑稽。
答案 3 :(得分:0)
UITextField
是UIResponder
的子类,允许您执行包括isFirstResponder
在内的检查,这可能是您要查找的内容。但是,您需要了解响应者链的工作原理以及这是否是您尝试检测的行为。
答案 4 :(得分:0)
使用isFirstResponder检查哪个文本框处于活动状态。
- (IBAction)buttonPressed:(id)sender {
if([textbox1 isFirstResponder]){
texbox1.text=@"User";
}
else if([textbox2 isFirstResponder]) {
textbox2.text =@"Admin";
} else {
// What should happen when neither textbox1 nor textbox2 is active?
}
}