我在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接口
感谢 卢卡
解决了谢谢你们,我觉得很愚蠢。这个标签不在舞台上,所以我可以看到它。我只是重新定位它,现在它工作正常
答案 0 :(得分:6)
你的代码中有一个拼写错误:
您的商店似乎是myLabel
,但您的if
语句使用mylabel
(应该使用大写字母'L')。另请注意,此属性的getter是isHidden
而不是hidden
,正如您所料(这不是问题的根源,但Apple在文档中说明了这一点,所以我认为值得一提)。
修改强>
你说:
MyLabel在CustomViewController.h(“IBOutlet UILabel * infoPostRist;”)中声明,并连接到Xib文件中对应的UILabel接口。
那么,你不应该检查infoPostRist
而不是myLabel
吗?
答案 1 :(得分:0)
您可以尝试将其从视图中删除:
[myLabel removeFromSuperview];
答案 2 :(得分:0)
您是否在(void)viewWillAppear:(BOOL)animated
或- (void)viewDidAppear:(BOOL)animated
中尝试了代码?
加载视图控制器时隐藏/显示视图可能无法正常工作。
答案 3 :(得分:0)
为了知识,我回答了我自己的问题:问题是标签不在舞台上,所以我看不到它。我只是重新定位它,现在它工作正常