ios - 在 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()
}
}
解决方案
从父视图(在我的情况下为堆栈视图)中删除旧的 customView 并将新的初始化自定义视图添加到 stackView 中工作。