2012-02-24 4 views
0

Я видел похожие вопросы, но ни один из них не касается той же проблемы.Проблема с двумя UITableViews в одном UIViewController

В UIViewController у меня есть два UITableViews tableView1 и tableView2 (который находится в UIScrollView). Источник данных и делегат на обеих таблицах установлены в UIViewController, который реализует протоколы UITableViewDelegate и UITableViewDatasource. UIViewController сама в UITabBarController следующим образом:

  • UITabBarController
    • UIViewController
      • UITableView (tableView1)
      • UIScrollView
        • UITableView (tableView2)

В Tableview: cellForRowAtIndexPath: проверить, какие таблицы и заполнять соответственно:

if (tableView == _tableView1) { 
    //do stuff for tableView1 
} else { 
    //do stuff for tableView2 
} 

При появлении UIViewController только tableView1 заполняется данными. Нажатие на другую вкладку, а затем обратно, наконец, заполняет tableView2.

Если делегат tableView1 и источник данных установлены в nil, tableView2 никогда не заполняется. Похоже, что tableView2 заполняется только после заполнения таблицыView1.

Может ли кто-нибудь помочь в этом?

Большое спасибо.

+0

Выполняете ли вы такую ​​же проверку в 'tableView: numberOfRowsInSection:' и 'numberOfSectionsInTableView:'? – jonkroll

+0

Ты устал от этого? если (Tableview == _tableView1) { // делать вещи для tableView1 } если (Tableview == _tableView2) { // делать вещи для tableView2 } зрения – pmk

+1

таблицы внутри зрения прокрутки рядом с другой точкой зрения таблицы? Я для одного не хочу использовать этот UI ... – jrtc27

ответ

0

В моем вопросе утверждают, что iVars были _tableView1 и _tableView2. Это были фактически _indexTableView и _tableView. Изменение _tableView до _gridTableView, похоже, решило эту проблему.

Смежные вопросы