ios - 如何在 2 个 ViewControllers Objective-C 上添加 UIView
问题描述
TLDR;如何让相同的 UIView 在 2 个不同的 ViewController 上?使用 Objective-C
我正在为应用程序制作一个小的设置类型选项。
有一个按钮,当按下它会弹出一个弹出窗口(UIView),它可以访问一些 UISwitches 来控制一些设置,然后在 UIView 上点击一个“确定”按钮来关闭它。我通过在弹出时设置 alpha 1 和在隐藏时设置 0 来控制弹出窗口。
我需要 UIView 在 2 个不同的 ViewController 上可用。并且 UISwitch 状态需要与 2 个 ViewController 同步
谢谢!
解决方案
您可以创建 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
}
推荐阅读
- node.js - Stripe - 有没有办法获得当前/特定月份的产品收入?
- javascript - 如何在 vue.js 中销毁滑块 vue-awesome-swiper?
- pandas - 尝试将“org.apache.spark.sql.DataFrame”对象转换为 Pandas 数据框会导致 Databricks 中出现错误“未定义名称‘数据框’”
- mysql - 如何使用 phpmyadmin 根据 MYSQL 中另一个字段的值输入字段的默认值
- python - 初学者 Python 程序员在这里,努力使用逻辑 OR 运算符
- python - 根据特定条件熊猫在列中增加计数器
- python - 无法在 python 中获取 SQLite 数据库
- ios - 如何在 swift 中创建自定义编译指令
- javascript - vue发出父母不听自定义事件
- ios - Apple 说即使 wifi 已连接也无法连接到 wifi