0

アプリでmmdrawercontrollerを使用しています...ドロワーからtableviewcellを選択すると、ナビゲーションコントローラでtableview Aを押し、次にtableview Aからtableviewcellを選択すると、ナビゲーションコントローラでtableview Bを押します...tableview Bが表示されますそしてすぐにテーブルビュー A に戻ります。

テーブルビューBのviewdidloadメソッドでデバッグしました.ナビゲーションコントローラーには、テーブルビューAとホームビューとともにテーブルビューBがプッシュされています...テーブルビューBのすべてのテーブルビューメソッドも起動されます..しかし、その後、どういうわけかテーブルビューBがポップアップしてテーブルビューAに戻ります. ..この奇妙な動作の理由..?

ノート

ただし、カスタム作成された uinavigational コントローラー (次のコード スニペットを介して) にモーダルで表示すると、正常に動作し、ポップ オフされません。

 UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:tableviewB];

[self presentViewController:navigationController
                   animated:YES
                 completion:^{
                    NSLog(@"presenting modally rather pushing"); 
                 }];

間違いなくナビゲーションコントローラーで何かがうまくいかない..

4

1 に答える 1

0

Swift で書いた私の考えを共有してください。tableViewA から tableViewB をプッシュしたい場合は、AppDelegate で:

self.window = UIWindow()    
let tvc = TableViewAController()
let nvc = UINavigationController(rootViewController: tvc)    
window.rootViewController = nvc
window.makeKeyAndVisible()

また、tableViewA で tableViewB をプッシュする場合:

let nextVC = TableViewBController()
nvc.pushViewController(nextVC)
于 2015-10-16T03:20:25.590 に答える