2012-03-07 49 views
0

我有一個從NIB加載的視圖控制器的問題。在這個NIB中,我有2個景觀,一個風景和一幅肖像。當willAnimateForRotation我出現在我一開始設定tableView setEditing導致cellForRow不會被過早調用

// willAnimateForRotation.. 
if (isLandscape) { 
    self.view = self.viewLandscape; 
} 
else { 
    self.view = self.portraitView; 
} 

我設置兩個表到編輯模式:

// viewDidLoad 
[self.tableViewPortrait setEditing:YES animated:NO]; 
[self.tableViewLandscape setEditing:YES animated:NO]; // * 

// *
我敢肯定,這條線是造成cellForRow上tableViewLandscape被稱爲在這一點上,而不是當我設置self.tableView = self.tableViewLandscape

它只發生在第一次,如果我執行2方向更改它將正確加載項目到tableView。

我不想做一個[self.tableView reloadData]的方向更改..這將是多餘的。

任何人都可以看到一個更優雅的方式來解決這個問題嗎?

回答

0

好,最好我能想出是:

//willAnimateToRotation.. 
if (!self.tableViewLandscape.editing) 
{ 
    [self.tableViewLandscape setEditing:YES animated:NO]; 
} 

其廉價的破解卻想不出一個更正確的解決方案。

相關問題