【发布时间】:2020-10-29 06:58:15
【问题描述】:
我在与我的 viewController 不同的文件中创建了一个自定义视图,然后我以编程方式添加它。 为了给您一些背景信息,它只是一张屏幕高度为一半的卡片。在这张卡片里面我有一个垂直的 stackView 包含:
- 水平堆栈视图
- 两个按钮
在这张卡片中,我根据模型中的给定值执行了一些操作。 这是我的代码:
func myFunction() {
let value: Bool! = // true or false
if value {
self.stackView.isHidden = true
} else {
self.button1.isHidden = true
self.button2.isHidden = true
}
}
我在 viewDidAppear lyfecycle 中这样调用我的函数:
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
self.myFunction()
}
问题是当我用这个视图打开我的视图时,我发现删除元素有一些滞后。例如,如果 value 为 true,那么我删除了我的水平堆栈视图,我仍然看到它 0.5 秒,然后它消失了,我只有我的按钮。
我以为是模拟器,设备会执行得更好,但还是一样... 我错过了什么吗?是否有一些动画或技巧可以立即执行此操作?
【问题讨论】:
标签: swift xcode user-interface uiview storyboard