如何重新加载ui视图的内容Swift

时间:2017-08-04 13:33:03

标签: swift view reload

我有一个视图控制器,里面有滚动视图,滚动视图有一个视图。因此,视图有很多按钮和标签,这些按钮和标签根据来自api的数据显示。按下它后我有一个按钮,我想重新加载一个视图(它的内容)。

2 个答案:

答案 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()