如何在iOS App中的所有viewcontrollers中重用相同的UIView

时间:2017-01-23 12:02:55

标签: ios objective-c uiview

您好我是iOS开发的新手,我正在开发一个iOS应用程序,我希望在整个应用程序中使用相同的页脚。现在我在每个控制器中创建不同的uiviews,但这不是最佳方式。如何创建单个uiview并在app中重用它。我正在使用故事板。在我的页脚中,我有四个按钮

2 个答案:

答案 0 :(得分:1)

XIB创建可重复使用的视图,并以编程方式将其加载到您需要的位置。 This answer显示了如何处理XIB

这应该适用于您的页脚。

对于更复杂的可重用视图,有意义的是拥有自己的UIViewConroller

  • 在storyboard中创建viewController
  • 像这样实例化:

    let storyboard = UIStoryboard(name: "MyStoryboardName", bundle: nil)
    let controller = storyboard.instantiateViewController(withIdentifier: "someViewController")
    
  • 将其添加为子viewController,如下所示:

    func add(childViewController controller: UIViewController, embedViewIn containerView: UIView) {
        controller.willMove(toParentViewController: self)
        addChildViewController(controller)
        containerView.addSubview(controller.view)
        // addCustomConstraints
    }
    

您可以稍后删除子viewController,如下所示:

func remove(childViewController controller: UIViewController) {
    controller.willMove(toParentViewController: nil)
    controller.view.removeFromSuperview()
    controller.removeFromParentViewController()
}

答案 1 :(得分:0)

你必须使用自定义tabBar,看一下https://github.com/hartlco/MHCustomTabBarController这个链接,我已经实现了它很容易理解。