Uitext标签刷新后刷新刷新

  • 本文关键字:刷新 标签 Uitext swift
  • 更新时间 :
  • 英文 :


我有一个pop Over View Controller来更改设置。它从UIPickerView更新应用中的文本。它效果很好,但是当我通过视图控制器将POP解散时,文本标签不会刷新。当我向后返回并返回视图控制器时,标签更新。

在视图控制器上解开POP之后,如何刷新当前视图?

这是加载弹出的代码:

let popOverVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "trustSelect") as! WelcomeViewController
self.addChildViewController(popOverVC)
popOverVC.view.frame = self.view.frame
self.view.addSubview(popOverVC.view)
popOverVC.didMove(toParentViewController: self)

POP Over View Controller使用以下代码在敲击按钮时解散视图控制器:

self.view.removeFromSuperview()

易于使用本地通知,

1)将其放在您的POP上

override func viewDidDisappear(animated: Bool) {
    NSNotificationCenter.defaultCenter().postNotificationName("refresh", object:nil, userInfo: nil)
}

2)然后在您的ViewController粘贴中,在ViewDidload

NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(ViewController.ChangeText), name: "refresh", object: nil)

3)然后将此方法粘贴在ViewController中的某个地方,

func ChangeText(){
 DispatchQueue.main.async {
    self.parent?.textLabel.text = "Random text"
 }
}

您可能需要在主线程中设置文本。

DispatchQueue.main.async {
  self.parent?.textLabel.text = "Random text"
}

最新更新