Swift:重新加载视图控制器
我需要在点击某个按钮时刷新view controller
。 简单地激活viewDidLoad()
似乎不适用于我需要做的事情。 但是,当我离开view controller
然后回到它,它似乎完美的工作?
如何刷新/重新加载一个view controller
,就好像我已经离开它然后回到它而没有真正离开它?
无论您在viewDidLoad
中编写什么代码,请尝试在viewWillappear()
添加该代码。 我想这会解决你的问题。
您不应手动调用viewDidLoad方法,而是要重新加载任何数据或任何UI,您可以使用:
override func viewDidLoad() { super.viewDidLoad(); let myButton = UIButton() // When user touch myButton, we're going to call loadData method myButton.addTarget(self, action: #selector(self.loadData), forControlEvents: .TouchUpInside) // Load the data self.loadData(); } func loadData() { // code to load data from network, and refresh the interface tableView.reloadData() }
无论何时想要重新加载数据并刷新界面,都可以调用self.loadData()
这可能有点晚了,但你尝试调用loadView()
吗?
在您想要重新加载viewController的View或任何视图时的任何时候调用
.setNeedsLayout() .layoutIfNeeded()