重新加载一个视图控制器迅速

点击某个button时,我需要刷新view controller 。 简单地激活viewDidLoad()似乎并没有为我需要做的工作。 但是,当我离开view controller然后回来,它似乎完美的工作?

我怎样才能刷新/重新加载view controller ,就好像我已经离开它然后回来了,而没有实际上离开它?

无论您在viewDidLoad中编写什么代码,都要在viewWillappear()添加它。 我想这会解决你的问题。

你不应该手动调用viewDidLoad方法,而是如果你想重新加载任何数据或任何用户界面,你可以使用这个:

 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 } 

每当你想重新载入数据并刷新接口,你可以调用self.loadData()

这可能有点晚,但你尝试loadView()

在任何时候调用,当你想重新加载viewController的视图或任何视图

 <View you want to reload>.setNeedsLayout() <View you want to reload>.layoutIfNeeded()