2012-03-07 11 views
0

NIBからロードされたView Controllerに問題があります。この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

[OK]を、最高の私が思い付くことができます:

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

その安いハックが、より正確な解決策を考えることはできません。

関連する問題