-(BOOL)checkUITextField{
BOOL flag = YES;
if(cognome.text.length==0){
flag=NO;
cognome.backgroundColor=[UIColor redColor];
cognome.text=@"CAMPO OBBLIGATORIO";
}else if(indirizzo.text.length==0){
flag=NO;
indirizzo.backgroundColor=[UIColor redColor];
indirizzo.text=@"CAMPO OBBLIGATORIO";
}else if(citta.text.length==0){
flag=NO;
citta.backgroundColor=[UIColor redColor];
citta.text=@"CAMPO OBBLIGATORIO";
}
}
现在,如果用户点击其中一个背景为红色且字符串为“CAMPO OBBLIGATORIO”的uitextfield,我想清除文本并将颜色设置为白色。
我尝试使用uitextfielddelegate
并实施textFieldShouldBeginEditing
检查:
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{
if([textField.text isEqualToString:@"CAMPO OBBLIGATORIO"]){
textField.text=@"";
textField.backgroundColor=[UIColor whiteColor];
}
}
什么都没发生..
所以我尝试添加一个ibaction并在xib中将它添加到每个uitextfield但没有任何反应:(我该怎么办?
答案 0 :(得分:1)
我只是使用你的逻辑模拟测试,它应该工作得很好。我的猜测是你没有分配UITextField
代表。在Interface Builder
中,您需要按住UITextField
进行操作并拖动到要作为代理人的对象。
我可能会考虑更改您检查是否需要清除UITextField
的方式。如果您稍后确认应用程序,则检查用户界面字符串(@"CAMPO OBBLIGATORIO"
)可能会中断。