我有一个非常简单的方法,但它不起作用。最终,从输入 YES,我想得到 NO 并反转。
-(void)myMethod:(BOOL)ys{
if (ys==YES) {
myLabel.hidden=NO;
myButton.hidden=NO;
}{
myLabel.hidden=YES;
myButton.hidden=YES;
}
}
你们能帮我纠正和缩短代码吗?谢谢
我有一个非常简单的方法,但它不起作用。最终,从输入 YES,我想得到 NO 并反转。
-(void)myMethod:(BOOL)ys{
if (ys==YES) {
myLabel.hidden=NO;
myButton.hidden=NO;
}{
myLabel.hidden=YES;
myButton.hidden=YES;
}
}
你们能帮我纠正和缩短代码吗?谢谢
也许这更容易:
-(void)myMethod:(BOOL)ys{
myLabel.hidden = !ys;
myButton.hidden = !ys;
}
-(void)myMethod:(BOOL)visible
{
[myLabel setHidden:!visible];
[myButton setHidden:!visible];
}
代码应该可以工作。但是,您的代码不起作用可能是因为您没有为标签和按钮设置引用出口(如果您使用界面生成器创建它们)。
参考网点应该这样设置。否则,编译器将不知道您要隐藏的按钮是否是界面上的按钮。
如果您使用代码创建了按钮/标签,请在尝试将它们设置为可见之前检查它们是否已释放。
如果我们试图让它变短......`
-(void)myMethod:(BOOL)ys{
myLabel.hidden = myButton.hidden = !ys;
}
-(void)myMethod:(BOOL)ys{
if (ys) {
myLabel.hidden=NO;
myButton.hidden=NO;
} else {
myLabel.hidden=YES;
myButton.hidden=YES;
}
}