2011-11-05 64 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]; 

我都設置爲包括開始監聽鍵盤事件並設置和刪除約束條件,只有這一行消除了所有其他代碼。

相關問題