如何重新载入ui视图的内容Swift
问题描述:
我有一个视图控制器,它具有滚动视图,滚动视图有一个视图。所以,view有很多按钮和标签,这些都是根据来自api的数据显示的。我按了一个按钮后,我想重新加载一个视图(它的内容)。如何重新载入ui视图的内容Swift
答
容易黑客之一,不推荐的方法是做
self.view.setNeedsLayout()
,你也可以做self.viewDidLoad()
OR 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()
添加'self.view.setNeedsLayout()'要么'viewDidLoad中()'或'viewWillAppear中()'没有让我的屏幕刷新。如果这有什么不同,我会从模态中回到UIView。 – Dan