簡體   English   中英

如何將子視圖添加到當前導航控制器?

[英]How to add subview to current navigation controller?

我有一個項目設置,該項目設置的uiscrollview追加了2個視圖控制器,這些控制器具有允許水平滾動的表格視圖。 這嵌入在導航控制器中。

這樣想吧。 VC1是帶有按鈕的摘要,它將用戶帶到VC2。 VC2是項目列表,但水平滾動視圖中包含2個列表。 VC2的列表是VC2.1和VC2.2。 這些是嵌入了表格視圖的視圖控制器。 VC3是詳細信息視圖,單擊VC2.1或VC2.2的單元格后即可訪問。 VC1和VC2都有導航控制器。 VC2.1,VC2.2和VC3沒有。

我正在嘗試設置表格視圖單元格以推送到詳細信息視圖。 我能夠使用以下方式進行此操作:

let storyboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let vc: MyDetailsViewController = storyboard.instantiateViewControllerWithIdentifier("myDetailsVC") as! MyDetailsViewController
let navigationController = UINavigationController(rootViewController: vc)
self.presentViewController(navigationController, animated: true, completion: nil)

但是,有些事情並沒有像我希望的那樣工作。

  1. 該視圖帶有導航欄,但沒有后退按鈕
  2. 視圖以模態顯示

有沒有辦法讓此詳細信息視圖成為主導航控制器的一部分,並使其像其他所有導航視圖一樣從右向左滑動顯示?

通過維護ViewController包含,您可以簡單地訪問parentViewControllerNavigationController

使用addSubview:添加ViewControllerview addSubview:使用addChildViewController:ViewController添加到ParentViewControlleraddChildViewController:

self.addChildViewController(VC2)

VC2.view.frame = scrollView.bounds
self.view .addSubview(VC2.view)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM