首页 文章

导航VC1到VC2来回时如何隐藏和显示标签

提问于
浏览
1

说,我有一个标签显示:正在加载......

问题:从VC返回时(2) . 标签未隐藏 .

如何从VC(2)返回时隐藏它,并在导航到VC(2)时不要隐藏它并显示消息:正在加载....

in VC(1) 

 @IBOutlet weak var lbLoadingMsg

 In viewDidLoad() {

 lbLoadingMsg.hidden = true

}  


-2-- turn it on when prepare to navigate to VC(2)


override func shouldPerformSegueWithIdentifier(identifier: String?, sender: AnyObject?) -> Bool
{
  --code--

   lbLoadingMsg.hidden = false

}


Override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!){

}

3 回答

  • 0

    您可以使用 NSNotificationCenter .

    按照以下简单步骤:

    1.在您的VC(2)中将此代码添加到您要返回的按钮中:

    @IBAction func goBack(sender: AnyObject) {
    
        NSNotificationCenter.defaultCenter().postNotificationName("hide", object: nil)
        self.dismissViewControllerAnimated(true, completion: nil)
    }
    

    2.在您的第一个视图中将此代码添加到 viewDidLoad 方法中:

    override func viewDidLoad() {
        super.viewDidLoad()
        NSNotificationCenter.defaultCenter().addObserver(self, selector: "hideLabel:", name:"hide", object: nil)
    }
    

    现在这个方法会调用这个函数:

    func hideLabel(notification: NSNotification){
    
        self.lbLoadingMsg.hidden = true
    }
    

    当从第一个视图按下 goBack 按钮时,这将在第一个视图中隐藏您的标签 .

    希望这会帮助你 .

  • 0

    在VC2中写下这个,

    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
        var identifier = segue.identifier
    
        if(identifier! == "yourIdentifier"){
            var vc1:VC1 = segue.destinationViewController as! VC1
    
            vc1.lbLoadingMsg.hidden = true
        }
    }
    
  • 0
    func viewDidAppear(_ animated: Bool) {
      lbLoadingMsg.hidden = true
    }
    

    移动

    lbLoadingMsg.hidden = true

    viewDidLoadviewDidAppear 的行 . 我认为最快捷的方式 .

相关问题