2013-11-28 111 views
-9

我已经在故事板中设置了文本字段(homeTeam)的占位符文本(例如18s以下)。现在我想检查下面的情况。比较文本字段中的占位符文本

- (BOOL)textFieldShouldBeginEditing:(UITextField *) textField 
{ 
    if ([_homeTeam.text isEqualToString:@"e.g. Under 18s"]) { // e.g. Under18s 
     [_homeTeam setPlaceholder:@""]; 
    } 
} 

但是,病情永远不会变成现实。我在这里错过了什么? _homeTeam.text在我使用NSlog进行跟踪时为空。为什么这样?

请建议。

+0

尝试此链接http://stackoverflow.com/questions/ 1328638/placeholder-in-uitextview – codercat

+2

在'textFieldShouldBeginEditing'里面设置Place holder到@“”有什么用?当您在文本字段中键入字符时,它会自动隐藏占位符。那么你想用这个代码做什么? –

回答

2

改变你的if条件下,它应该是_homeTeam.placeholder_homeTeam.text因为你设置占位符文本不是UITextField文本。

- (BOOL)textFieldShouldBeginEditing:(UITextField *) textField 
{ 
    if ([_homeTeam.placeholder isEqualToString:@"e.g. Under 18s"]) { // e.g. Under18s 
     [_homeTeam setPlaceholder:@""]; 
    } 
} 
1

实际上,你要比较反对placeholder属性,而不是text(这是由用户输入)。

另外,我不是指textField(而不是直接_homeTeam,因为你可能会添加其他后来的文本字段),因为这样的:

- (BOOL)textFieldShouldBeginEditing:(UITextField *) textField 
{ 
    if ([textField.placeholder isEqualToString:@"e.g. Under 18s"]) { // e.g. Under18s 
     [textField setPlaceholder:@""]; 
    } 
}