我有一个视图控制器,里面有滚动视图,滚动视图有一个视图。因此,视图有很多按钮和标签,这些按钮和标签根据来自 api 的数据显示。按下按钮后我有一个按钮,我想重新加载视图(它的内容)。
一种简单的 hack 而不是推荐的方法是这样做
self.view.setNeedsLayout()
Run Code Online (Sandbox Code Playgroud)
你也可以做self.viewDidLoad()或self.viewWillAppear(true)
您可以使用的不同推荐方法如下
委托 KVO 通知
另一种方法是使用 tableView 和用户 reloadData()
委托:https : //www.andrewcbancroft.com/2015/04/08/how-delegation-works-a-swift-developer-guide
KVO:https ://cocoacasts.com/key-value-observing-kvo-and-swift-3/
通知:http : //dev.iachieved.it/iachievedit/notifications-and-userinfo-with-swift-3-0/
最好和正确的方法是定义一个方法来布局每个按钮,告诉它是否应该隐藏或显示并更新其框架。
最简单但丑陋的方法是使用:
self.viewToReload.setNeedsLayout()
self.viewToReload.layoutIfNeeded()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
45633 次 |
| 最近记录: |