【发布时间】:2016-05-10 19:46:11
【问题描述】:
主 ViewController 嵌入在 UINavigationController 子类中,VC 有一个从 nib 加载的子视图。子视图称为 MenuView,并包含将链接到其他 VC 的 UIButton。
为了让我的主 ViewController 不那么不守规矩,我将所有这些按钮放入一个子视图中,该子视图从一个 nib 加载,该笔尖为菜单打开和关闭设置动画。
但是,我想展示其他视图控制器,有时是“模态”,有时是“显示”。我所做的似乎有效,但我只想知道这是否可行,或者我是否造成了一些我不知道的不良影响(例如会导致内存泄漏的强引用循环或其他东西)。或者有更好的方法吗?
一些代码: 在 MenuView.swift 中
class MenuView: UIView {
var navigationController = CustomNavigationController()
func combinedInit(){
NSBundle.mainBundle().loadNibNamed("MenuViewXib", owner: self, options: nil)
addSubview(mainView)
mainView.frame = self.bounds
}
@IBAction func optionsAction(sender: AnyObject) {
self.navigationController.performSegueWithIdentifier("presentOptions", sender: self)
}
在 ViewController.swift 中
menuView.navigationController = self.navigationController as! CustomNavigationController
【问题讨论】:
标签: swift uinavigationcontroller subview nib