我在UITextfield
中的cells
中有两个section
中有grouped UITableView
个emailField
,其中passwordField
和tag
已设置UIBarButtonItem
{1}}为0和1.我在loginButton
的右边缘有一个名为navigationBar
的{{1}}。我希望当此视图进入屏幕时按钮被禁用,并且当textFields
在其中输入文本时希望按钮被启用,否则按钮被禁用。
这是创建按钮的代码。
_loginButton = [[UIBarButtonItem alloc] initWithTitle:@"Login"
style:UIBarButtonItemStyleDone
target:self
action:@selector(logging)];
_loginButton.enabled = NO;
self.navigationItem.rightBarButtonItem = _loginButton;
在UITextField
textFieldDidBegingEditing:
方法中,我尝试实现此功能。但它没有工作或工作不正确,这很奇怪。注意:textFields
添加为cell
的{{1}}而不是subview
cell
contentView's
。
subview
我也尝试在按钮选择器方法中实现此功能,但它根本不起作用。
#pragma mark - UITextfield Delegate
- (void)textFieldDidBeginEditing:(UITextField *)textField
{
if (textField == self.emailField)
{
UITableViewCell *currentCell = (UITableViewCell *)textField.superview;
NSIndexPath *currentIndexPath = [self.tableView indexPathForCell:currentCell];
NSIndexPath *nextIndexPath = [NSIndexPath indexPathForRow:currentIndexPath.row+1 inSection:0];
UITableViewCell *nextCell = [self.tableView cellForRowAtIndexPath:nextIndexPath];
self.passwordField = (UITextField *)[nextCell viewWithTag:1];
if ([(UITextField *)[currentCell viewWithTag:0] text].length != 0 && [(UITextField *)[nextCell viewWithTag:1] text].length != 0)
{
self.loginButton.enabled = YES;
}
else
{
self.loginButton.enabled = NO;
}
}
}
这有什么问题?
答案 0 :(得分:0)
你是否将textfields delegate属性设置为self? 还有一些其他令人不安的问题,但我会先检查一下