首页 > 解决方案 > 如何在 2 个 ViewControllers Objective-C 上添加 UIView

问题描述

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

我正在为应用程序制作一个小的设置类型选项。

有一个按钮,当按下它会弹出一个弹出窗口(UIView),它可以访问一些 UISwitches 来控制一些设置,然后在 UIView 上点击一个“确定”按钮来关闭它。我通过在弹出时设置 alpha 1 和在隐藏时设置 0 来控制弹出窗口。

我需要 UIView 在 2 个不同的 ViewController 上可用。并且 UISwitch 状态需要与 2 个 ViewController 同步

谢谢!

标签: iosobjective-c

解决方案


您可以创建 XIb 并将其加载到不同的视图控制器上

我可以用 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
    }

推荐阅读