ios - 对同一个 ViewController 使用不同的 swift 文件?

标签 ios swift uiviewcontroller swift3

我的应用程序中有一个布局保持不变,除了图像会有所不同,具体取决于在前一个 View 中按下的按钮。我想做的是将其设置为,如果按下 btn1,用户将进入下一个 View ,然后使用 VCfile1.swift,如果用户按下 btn2,则将他带到下一个 View ,并使用 VCFile2.swift对于 Storyboard中创建的同一个 View Controller 。我怎么能做到这一点? (我不确定这是正确的方法,但如果不正确,请提出建议)

swift 3、Xcode 8

最佳答案

首先:如果您需要 100 个 UViewController,并且都具有相同的 View ,那么您就做错了。

要在不同的 ViewController(.swift) 类中重复使用相同的 View ,您可能需要将 UIView 创建为 XIB 并(重新)在您的以编程方式查看 Controller 。

  • 为您的 View 创建一个类:

    类 MyView: UIView { //

  • 创建一个XIB文件(新建->文件-> View )MyView.xib,将其类设置为MyView,然后根据您的需要对其进行自定义。

  • 创建一个实例并在您的 UIViewControllers 中使用它:

    class MyViewController: UIViewController {
        var myView: MyView?
    
        override func viewDidLoad() {
            super.viewDidLoad()
            myView = UINib(nibName: "MyView", bundle: nil).instantiate(withOwner: self, options: nil).first as? MyView
            view.addSubview(myView!)
            // You might want to set constraints here
        }
    }
    

关于ios - 对同一个 ViewController 使用不同的 swift 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41171966/

相关文章:

ios - 如何创建从 View Controller 到自身的 Storyboard转场?

ios - 将二进制数据对象迁移到核心数据实体

objective-c - 通过 CocoaPods 在 github 上使用 Restkit 的分支?

ios - 如何快速更改 x 位置

ios - 从自定义容器 Controller 观察 subview Controller 的工具栏项

ios - 如何快速添加静态底部 View

iOS:何时使用委托(delegate)/数据源(协议(protocol))与属性

ios - 重新加载非表格 View (iOS)

ios - 样式 ActionSheet 的 UIAlertController 显示在状态栏下方

快速更改通知正文