目前我在每个UITableViewCell中都有一个UITextField,但问题是,如果有2个或更多单元格,则可以切断单元格。
是否有任何简单的方法可以让键盘打开时单元格可见?
谢谢!
答案 0 :(得分:2)
对我来说这很好用,以防有人仍然需要答案:
- (void)textFieldDidBeginEditing:(UITextField *)textField
{
if (self.tableView.contentOffset.y == 0)
{
[UIView animateWithDuration:0.0 delay:0.5 options:UIViewAnimationOptionAllowUserInteraction animations:^{
} completion:^(BOOL finished) {
UITableViewCell *cell = (UITableViewCell*) [[textField superview] superview];
[self.tableView scrollToRowAtIndexPath:[self.tableView indexPathForCell:cell] atScrollPosition:UITableViewScrollPositionTop animated:YES];
}];
}
}
问题在于滑动到单元格时没有考虑键盘,所以我只是在一个小延迟块中添加了调用。
答案 1 :(得分:1)
如果我正确理解您的问题,您希望视图在键盘出现时滚动。 如果你使viewController成为UITableViewController的子类,我相信你可以免费滚动。遗憾的是,唯一的其他选择并非那么简单。您需要使用委派方法来上下移动视图(如果您希望它使用键盘向上滑动,则为其设置动画)。你可以找到很多答案,所以我不会详细介绍,这里有一些帮助你的链接!