2013-01-16 20 views
1

在單元格中使用UITableViewControllerUITextFields時,我觀察到一些奇怪的行爲。UITableViewController和UITextFields的奇怪行爲

UITextFields委託設置爲UITableViewController和當進入編輯模式的實現代碼如下滾動到相關的細胞,而不會遮擋用鍵盤輸入。

然而,當我提出使用

[self presentViewController:vc animated:TRUE completion:^() {}]; 

另一個視圖控制器和後面

[self dismissViewControllerAnimated:YES completion:^{}]; 

錶停止滾動和調整大小以適合鍵盤其關閉。

這似乎並不重要,我叫presentViewController方法(在單元格,在頭部或工具欄)

任何想法?

更新1:

我的UITextField委託設置在- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPathcell.textField.delegate = self

我只覆蓋viewWillAppear:(BOOL)animated

- (void) viewWillAppear:(BOOL)animated { 
    [super viewWillAppear:animated]; 
    [[GAI sharedInstance].defaultTracker sendView:@"Some view name"]; 
} 

更新2

Manua LLY調用

[self dismissViewControllerAnimated:YES completion:^{ 
     [self viewWillAppear:YES]; 
}]; 

修復它,但我還是像一些輸入到爲什麼這是必要的嗎?

+0

你在哪裏設置UITextField委託? – Weston

+0

你可以請發表代碼viewWillAppear/viewDidAppear和viewWillDisapper/viewDidDisappear? –

+0

我更新的問題 – darxmac

回答

1

視圖層次結構中的某處我錯過了對[super viewWillAppear:]的調用。