我试图弄清楚当用户在 UITextField 之外点击时如何关闭键盘并触发方法
在 TableViewCell.m 中:
-(void)textFieldDidBeginEditing:(UITextField *)textField
{
[self.delegate cellDidBeginEditing:self];
}
在 ViewController.m 中:
-(void)cellDidBeginEditing:(TableViewCell *)editingCell
{
_editingOffset = _tableView.scrollView.contentOffset.y - editingCell.frame.origin.y;
for (TableViewCell *cell in [_tableView visibleCells]) {
[UIView animateWithDuration:0.3
animations:^{
cell.frame = CGRectOffset(cell.frame, 0, _editingOffset);
if (cell != editingCell) {
cell.alpha = 0.25;
}
}];
}
}
cellDidBeginEditing: 方法将单元格移到顶部并将其他单元格变为灰色。
我有另一种方法, cellDidEndEditing: 它与此相反,并且实际上并不需要代码。
截至目前,例如在编辑“cell1”时选择“cell2”只会触发“cell2”的 cellDidBeginEditing
当我单击“cell1”外部时,我希望键盘关闭并触发 cellDidEndEditing