Objective c 隐藏/显示隐藏属性不起作用的UILabel
我在CustomViewController的方法viewDidLoad中实现了以下代码,以根据需要打开/关闭标签可见性: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
- (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
正确吗?或者我们在谈论另一个标签?