2011-11-05 60 views
0

当我尝试滚动并编辑UITableView底部的单元格时,我无法设法让我的单元格正确定位在键盘上方。实际上键盘隐藏了一半的桌子视图。如何管理包含文本字段的表格视图的滚动

另外我为我的单元格分别创建了一个自定义单元类。因此,文本字段代表仅在该类上可用。我不能在我的桌子上使用它们biew的视图控制器

我见过很多关于改变视图大小的答案等等,但是他们都没有很好地工作到目前为止。

可能有人帮助我用一段代码

回答

0

您要调整的UITableView的滚动视图组件。设置您的视图控制器以响应键盘通知。就像这样:

- (void)viewWillAppear:(BOOL)animated 
{ 
    [super viewWillAppear:animated]; 
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil]; 
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil]; 

} 


- (void)viewWillDisappear:(BOOL)animated 
{ 
    [super viewWillDisappear:animated]; 
    [[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillShowNotification object:nil]; 
    [[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillHideNotification object:nil]; 
} 

然后创建一个keyboardWillShow:功能和调节通过操纵tableView.scrollview.contentOffset的实现代码如下(这可能是tableView.contentOffset我不是附近的Xcode)。确保你使用keyboardWillHide函数将其调回到0,0。

1

更简单的方法来做到这一点,现在(不知道这有多长时间可用):如果你重写viewWillAppear中,确保在顶部

[super viewWillAppear:animated]; 

我都设置为包括开始监听键盘事件并设置和删除约束条件,只有这一行消除了所有其他代码。

相关问题