我有两个文本字段(一个用于用户名,另一个用于密码),我有一个按钮(用于登录).两个文本字段都将clearButtonMode设置为YES(即我在文本字段的右端提供小的十字x按钮,只需单击一下即可擦除字段).
最初,登录按钮被禁用.如果且仅当两个文本字段都应至少包含一个字母时,我想启用它.它也应该在点击十字按钮时工作.
请建议我如何做到这一点....
提前致谢
Nic*_*ver 10
您可以对这两个字段使用UITextFieldTextDidChangeNotification通知,并相应地为您的按钮设置启用.
示例代码:
// add the observer
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(textFieldDidChange:)
name:@"UITextFieldTextDidChangeNotification"
object:nil];
// the method to call on a change
- (void)textFieldDidChange:(NSNotification*)aNotification
{
myButton.enabled = [self bothTextFieldsHaveContent];
}
- (BOOL)bothTextFieldsHaveContent
{
return ![self isStringEmptyWithString:textField1.text) &&
![self isStringEmptyWithString:textField2.text);
}
// a category would be more elegant
- (BOOL)isStringEmptyWithString:(NSString *)aString
{
NSString * temp = [aString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
return [temp isEqual:@""];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3825 次 |
| 最近记录: |