当我按下按钮时,我试图显示标签几秒钟。但隐藏功能无法正常工作。
-(void) hide_label:(NSString *)value{
[value setHidden:YES];
}
获取错误:没有可见的@interface用于' NSString'声明选择器' setHidden:'。
答案 0 :(得分:1)
在您的示例中,value
是NSString
,而不是UILabel
。 NSString
没有setHidden:
方法,正如错误消息所示。
相反,您需要传递标签本身,然后调用setHidden:
。
因此,将方法更改为:
- (void) hide_label:(UILabel *)label {
[label setHidden:YES];
}
并更改调用此方法的代码的所有部分以传入UILabel。
答案 1 :(得分:0)
NSString
不是UILabel
的子类,并且不响应setHidden:
您必须在UILabel
属性本身上调用它。< / p>
您如何申报UILabel
?如果通过笔尖连接,它应该类似于以下内容:
@property (nonatomic, weak) IBOutlet UILabel *label;
或者如果以编程方式创建它:
@property (nonatomic, strong) UILabel *label;
然后您可以在标签上调用setHidden,因为它是一个可以使用点语法的属性:
label.hidden = YES;
您可以使用其访问者检查其状态:
if ([label isHidden]) {
//... do something
}
您可能值得阅读有关iOS开发的一些教程Look Here on raywenderlich.com