我有一个视图控制器,里面有滚动视图,滚动视图有一个视图。因此,视图有很多按钮和标签,这些按钮和标签根据来自api的数据显示。按下它后我有一个按钮,我想重新加载一个视图(它的内容)。
答案 0 :(得分:3)
其中一个简单的黑客和 NOT 推荐的方法是
self.view.setNeedsLayout()
您也可以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/
答案 1 :(得分:2)
最好和正确的方法是定义一个方法来布局每个按钮,告诉它是否应该隐藏或显示并更新其框架。
最简单但最丑陋的方法是使用:
self.viewToReload.setNeedsLayout()
self.viewToReload.layoutIfNeeded()