表格视图的最后四行不会从键盘下方移出

Posted

技术标签:

【中文标题】表格视图的最后四行不会从键盘下方移出【英文标题】:Last four rows of table view will not move out from under keyboard 【发布时间】:2011-11-08 05:45:40 【问题描述】:

我有一个表格视图,它有四个部分,总共 21 行,其中每个单元格的右侧都包含一个文本字段。

当我尝试滚动和编辑表格视图底部的单元格时,我无法将最后四到五个单元格正确定位在键盘上方。桌子的其余部分位置很好。

我在textFieldDidBeginEditing:moveUp:YEStextFieldShouldReturn:NO 中调用了这个方法。

#define kOFFSET_FOR_KEYBOARD 42
-(void)viewMoveUp:(BOOL)moveUp

    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:0.5]; 

    CGRect rect = self.view.frame;
    if (moveUp)
    
        rect.origin.y -= kOFFSET_FOR_KEYBOARD;
        rect.size.height +=  kOFFSET_FOR_KEYBOARD;
    
    else
    
        // revert back to the normal state.
        rect.origin.y = 0;
        rect.size.height =  360;
    
    self.view.frame = rect;

    [UIView commitAnimations]; 



【问题讨论】:

【参考方案1】:

让它更简单。

使用 UITableViewController 代替 UIViewController。 UITableViewController 将为您处理键盘显示的大小调整。

【讨论】:

以上是关于表格视图的最后四行不会从键盘下方移出的主要内容,如果未能解决你的问题,请参考以下文章

模糊包含键盘及其下方内容的 UIView (iOS 7)

如何防止最后一个表格单元格与键盘重叠

键盘出现多次时,滚动视图不会向上移动

位于虚拟键盘下方的 iOS 7.1 输入字段强制缩放焦点

Flutter Webview 关闭键盘

从表格视图单元格更新文本并刷新后键盘关闭