簡體   English   中英

iOS7滾動到UITableViewController的行,同時以適當的偏移量編輯UITableViewCell中的UITextField

[英]iOS7 scroll to row of UITableViewController while editing UITextField in UITableViewCell with proper offset

我的UITableViewController上的單元格具有可以編輯的textField。 當我編輯textField時,我需要滾動表格視圖,以使具有當前字段的行在鍵盤上方。 這是我正在使用的代碼:

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

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

問題是它不適用於我的tableview中的最后幾個單元格。 我猜想它與tableview的contentSize有關。 是否有適當的方法來調整表格視圖的偏移量,以便最后一個單元格在鍵盤上方滾動?

相反,如果

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

您可以使用

[self.tableView setContentOffset:CGPointMake(0, CGRectGetMinY(cell.frame)) animated:YES];

無論您點擊第一個還是最后一個單元格,這都會將您選擇的單元格滾動到屏幕頂部(如UITableViewScrollPositionTop)。 通過控制ContentOffset,您可以設置所選單元格的放置位置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM