2017-01-23 16 views
0

您好我是iOS開發新手,我正在開發iOS應用程序,我希望在整個應用程序中使用相同的頁腳。現在我在每個控制器中創建不同的uiviews,但這不是最佳方式。我如何創建單個uiview並在應用程序中重用它。我正在使用故事板。在我的頁腳中,我有四個按鈕如何在iOS應用中的所有視圖控制器中重複使用相同的UIView

+0

創建一個uiview類,並將其腳本添加到代碼中,將其子類化並用於所有其他視圖。 – vishnuvarthan

+1

爲什麼不使用'TabBar'?簡單和更好的方式來使用TabBar。 –

+0

如果我們使用tabbar,所有視圖都會在頁腳中有一個按鈕 – Eagle

回答

1

將您的可重用視圖創建爲XIB並以編程方式將其加載到任何需要它的地方。 This answer顯示如何處理XIB s。

這應該適用於您的頁腳。

對於更復雜的可重複使用的意見,這是有意義的有自己的UIViewConroller

  • 創建的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() 
} 
+0

我錯過了obj-c標籤。抱歉。除了語法之外,它的工作原理也是一樣的。 – shallowThought

+0

我該怎麼做故事板 – Eagle

+0

你不能使用故事板的第一種方法。但是XIB就像沒有vieeController的視圖的故事板。嘗試一下。 – shallowThought

相關問題