iOS7 在 UITableViewCell 中以适当的偏移量编辑 UITextField 时滚动到 UITableViewController 的行

标签 ios ios7 uitextfield uitableview uitextfielddelegate

我的 UITableViewController 上的单元格有一个可以编辑的 textField。当我编辑 textField 时,我需要滚动 tableview 以使当前字段所在的行位于键盘上方。这是我正在使用的代码:

-(void)textViewDidBeginEditing:(UITextView *)textView
{   
    UITableViewCell *cell = (UITableViewCell*) [[textField superview] superview];

    [self.tableView scrollToRowAtIndexPath:[self.tableView indexPathForCell:cell]
                          atScrollPosition:UITableViewScrollPositionTop
                                  animated:YES];
}

问题是它不适用于我的表格 View 中的最后几个单元格。我猜它与tableview的contentSize有关。是否有适当的方法来调整 tableview 的偏移量,以便最后一个单元格在键盘上方滚动?

最佳答案

相反,如果

[self.tableView scrollToRowAtIndexPath:[self.tableView indexPathForCell:cell] atScrollPosition:UITableViewScrollPositionTop animated:YES];

您可以使用
[self.tableView setContentOffset:CGPointMake(0, CGRectGetMinY(cell.frame)) animated:YES];

无论您是点击第一个还是最后一个单元格,这都会将您选择的单元格滚动到屏幕顶部(如 UITableViewScrollPositionTop)。
控制 ContentOffset 您可以设置所选单元格的位置。

关于iOS7 在 UITableViewCell 中以适当的偏移量编辑 UITextField 时滚动到 UITableViewController 的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19528956/

相关文章:

ios - 在 Facebook 上分享,手机上不显示文字。 ( swift )

ios - Base64 PDF 内容转 PDF

iphone - 使用私有(private) API 扫描 iOS 7 上的网络 (SSID)

ios - 如何将 UITextField 中的数字转换为 float ?

ios - 仅在 iOS 6 上使用特定字体剪辑的标签和文本字段文本

ios - objective-C 。多个匿名类别?

ios - "Remind me later"本地通知功能

ios - 在哪里可以找到 iOS 用户体验导航最佳实践?

ios - 应用程序可以请求打开飞行模式然后检测用户是否已这样做?

iphone - 当输入 2 个连续空格时,如何以编程方式避免 iPhone/iPad 在文本字段中添加 '.' 字符?