Objective c 隐藏/显示隐藏属性不起作用的UILabel

Objective c 隐藏/显示隐藏属性不起作用的UILabel,objective-c,cocoa-touch,uilabel,Objective C,Cocoa Touch,Uilabel,我在CustomViewController的方法viewDidLoad中实现了以下代码,以根据需要打开/关闭标签可见性: - (void)viewDidLoad { [super viewDidLoad]; myLabel.hidden=NO; if (x==1) { myLabel.hidden=YES;//here is correctly hidden } else { [self.view bringSubviewToFront:myLabel]; i

我在CustomViewController的方法viewDidLoad中实现了以下代码,以根据需要打开/关闭标签可见性:

- (void)viewDidLoad
{
 [super viewDidLoad];

 myLabel.hidden=NO;

if (x==1) {

   myLabel.hidden=YES;//here is correctly hidden
}
else {
    [self.view bringSubviewToFront:myLabel];

    if(!myLabel.hidden){

      NSLog(@"I'm not hidden!");// the log displays correctly! so myLabel is not Hidden but I can't see it!
      [self.view bringSubviewToFront:myLabel];
    }
}
MyLabel在CustomViewController.h(“IBOutlet UILabel*MyLabel;”)中声明,并连接到Xib文件中相应的UILabel接口

为什么即使它的“隐藏”属性是假的,我也看不见它

p.s UILabel文本分配给xib文件中的UILabel接口

谢谢 卢卡


解决了谢谢各位,我觉得自己很笨。标签不在舞台上,所以我可以看到它。我刚刚重新定位了它,现在它工作正常了

您的代码中有一个输入错误: 您的出口似乎是
myLabel
,但您的
if
语句使用
myLabel
(应使用大写字母“L”)。还请注意,此属性的getter是
ishiden
,而不是您可能期望的
隐藏的
(虽然这不是问题的根源,但苹果在其文档中对此进行了说明,因此我认为值得一提)

编辑:

你说:

MyLabel在CustomViewController.h(“IBOutlet UILabel*InfoPostList;”)中声明,并连接到Xib文件中相应的UILabel接口


那么,您是否应该选中
InfoPostList
而不是
myLabel
,然后?

您可以尝试将其从视图中删除:

[myLabel removeFromSuperview];

您是否在
(void)视图中尝试代码将显示:(BOOL)动画
-(void)视图显示:(BOOL)动画


加载视图控制器时隐藏/显示视图可能无法正常工作。

为了了解情况,我回答了自己的问题:问题是标签不在舞台上,所以我看不到它。我刚刚重新定位了它,现在它工作正常。

不,这只是我在这里复制它的错误。哦,好的。回到第一步,那么XD标签是主视图的直接子视图还是有另一个祖先视图?您是否将任何文本设置为
UILabel
?另外,确保文本颜色与背景颜色不同。还有一件事。。。您说您的标签声明为
InfoPosist
正确吗?或者我们在谈论另一个标签?