首页 > 解决方案 > 在 Swift 运行时更改自定义 UIView

问题描述

我应该如何在运行时使用不同的自定义 UIView 类更改 viewController 中的自定义视图?我的代码片段如下所示,但不会更改自定义视图。

class BaseView: UIView {

}

class view1: BaseView {

}

class view2: BaseView {

}

class MyViewController: UIViewController {
   var customView: BaseView?

   init() {
      customView = view1()
   }

   @objc changeView() {
     customView = view2()
     self.customView.setNeedsDisplay()

  }

}

标签: iosswift

解决方案


从父视图(在我的情况下为堆栈视图)中删除旧的 customView 并将新的初始化自定义视图添加到 stackView 中工作。


推荐阅读