2016-01-30 40 views
0

当我按下按钮隐藏我的文本时,按下按钮显示我的文本后。我的错在哪里?我的英语很糟糕,对不起......Swift - 隐藏和显示对象

@IBOutlet weak var myHiddenText: UILabel! 

@IBAction func showBtn(sender: AnyObject) { 
    myHiddenText.hidden = true 

    if myHiddenText.hidden == true { 
    myHiddenText.hidden = false 
    } 

    if myHiddenText.hidden == false { 
    myHiddenText.hidden = true 
    } 

} 
+0

'myHiddenText'是一个字符串。字符串不能隐藏,只能查看。 – tktsubota

+0

@TroyT Huh? 'myHiddenText'被声明为'UILabel'。 – rmaddy

+0

@rmaddy他只是把它改成了'UILabel'。原始编辑有'myHiddenText'是一个字符串。 – tktsubota

回答

2

如果您希望按钮来切换标签的hidden财产,只是这样做:

@IBAction func showBtn(sender: AnyObject) { 
    myHiddenText.hidden = !myHiddenText.hidden 
} 

你的主要问题是这一行:

myHiddenText.hidden = true 

这是每次都隐藏标签然后您的if声明将始终为真,并显示您的标签。然后第二个if声明将是真实的,并再次隐藏标签。

所以另一种选择,以解决您的代码将是:

@IBAction func showBtn(sender: AnyObject) { 
    if myHiddenText.hidden == true { 
     myHiddenText.hidden = false 
    } else { 
     myHiddenText.hidden = true 
    } 
} 
+1

准确地如何将5行复制代码替换为1 :)只有一个建议:方法的名称应该是'toggleLabelVisibility'。 –

+0

谢谢!有用。我一直工作了两个小时。 –