SetHidden不起作用

时间:2014-03-14 22:18:05

标签: ios objective-c function

当我按下按钮时,我试图显示标签几秒钟。但隐藏功能无法正常工作。

-(void) hide_label:(NSString *)value{
    [value setHidden:YES];

}

获取错误:没有可见的@interface用于' NSString'声明选择器' setHidden:'。

2 个答案:

答案 0 :(得分:1)

在您的示例中,valueNSString,而不是UILabelNSString没有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