簡體   English   中英

如何在2個ViewControllers Objective-C上添加UIView

[英]How to add a UIView on 2 ViewControllers Objective-C

TLDR; 如何在2個不同的ViewController上使用相同的UIView? 使用Objective-C

我正在為應用程序設置一個小的設置類型選項。

有一個按鈕,當按下該按鈕時會彈出一個UIView,該UIUI可以訪問某些UISwitch以控制某些設置,然后在UIView上單擊“確定”按鈕以將其關閉。 我通過使彈出窗口的Alpha值為1,隱藏時為0來控制彈出窗口。

我需要該UIView在2個不同的ViewController上可用。 而且UISwitch狀態需要為2個ViewController同步

謝謝!

您可以創建XIb並將其加載到不同的View控制器上

我可以在Swift中為您提供幫助。

第1步-創建一個XIB並為其分配一個UIView。

第2步-如下所示在各自的視圖控制器中調用該視圖

    var sampleoneView: SampleView?

    var sampleTwoView: SampleView?

如下初始化這些視圖

    sampleoneView = SampleView.initSampleView(X vX:CGFloat, Y vY:CGFloat, width: CGFloat, height: CGFloat)
    sampleTwoView = SampleView.initSampleView(X vX:CGFloat, Y vY:CGFloat, width: CGFloat, height: CGFloat)

其中initSampleView函數的定義如下

    public class func initSampleView() -> SampleView{
    let sampleView:SampleView = Bundle.main.loadNibNamed("SampleView", owner: self, options: nil)?.last as! SampleView
    sampleView.frame = CGRect(x: vX, y: vY, width: width, height: height)
    return sampleView
    }

有一個按鈕,當按下該按鈕時會彈出一個UIView,該UIUI可以訪問某些UISwitch以控制某些設置,然后在UIView上單擊“確定”按鈕以將其關閉。 我通過使彈出窗口的Alpha值為1,隱藏時為0來控制彈出窗口。

因此,這不僅是一個視圖及其子視圖,而且是對它們進行操作的一整套控制器行為。 因此,這需要是一個用其視圖實例化兩次的子視圖控制器。 在兩個位置的情節提要中使用“容器視圖”,而“嵌入”腳本指向相同的視圖控制器及其視圖。

而且UISwitch狀態需要為2個ViewController同步

當用戶在視圖中進行更改時,將所有必需的信息寫入UserDefaults中,並在視圖控制器出現時閱讀並遵守。

暫無
暫無

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

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