2017-10-12 89 views
0

我有一個Headerpart的4個視圖,我將它外包到一個containerview中,以在所有4個視圖中具有相同的字段和佈局。在我的容器裏面,我有很多標籤,我知道想要填充數據。我現在的問題是,我必須根據用戶選擇的遊戲填充標籤。遊戲是我的玩家類中的枚舉。我不知道如何從我的容器視圖中獲取該信息並相應地設置遊戲變量來執行我的代碼。有沒有解決方案從視圖中查看我的containerview位於containerview之外的storyboardid?從containerView中,如何訪問包含Swift中容器的視圖控制器?


開關遊戲

情況.Coinflip:

Player1PointsLabel.Text =(player1.points.coinflip)

情況.RollingDices

Player1PointsLabel.Text =(PLAYER1。 points.rollingdices)


也許我做錯了什麼,明智的設計,我還沒有那麼有經驗,所以我也開放給予建議。

問候

回答

0

你的問題的目標還不是很清楚。

如果你想訪問你的視圖的超視圖(視圖包含你的子視圖),然後使用'myView.superview'。

如果您想訪問託管您的UIViewController的UIViewController,請使用'myViewController.presentingViewController'。

最後,如果你要訪問的UIViewController託管你的看法,你必須走響應鏈,直到你到達第一個的UIViewController或鏈的末端(UIView的是UIResponder的子類):

func viewController(forView: UIView) -> UIViewController? { 
    var nr = forView.next 
    while nr != nil && !(nr! is UIViewController) { 
    nr = nr!.next 
    } 
    return nr as? UIViewController 
} 
0

執行主控制器的prepareForSegue方法。

基於segue名稱,您可以創建對destination控制器的引用,管理您的容器視圖

相關問題