UIImageView.hidden属性不起作用?

时间:2011-09-07 09:46:34

标签: objective-c uiimageview properties

PanelImage是全局分配的,并在从ViewDidLoad

调用的方法中启动
PanelImage = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"panel.png"];
[self.view addsubView:PanelImage];

我的图片正常显示但是     当我尝试使用

隐藏它时
  

PanelImage.hidden = YES;

它不隐藏  我使用

测试该属性
  

if(PanelImage.hidden)但我没有通过

我也打印了它

NSLog(@"panel is hidden %d",PanelImage.hidden);

即使用

设置后,它也会输出“Panel is hidden 0”
  

PanelImage.hidden = 1;

请帮忙,至少告诉我一些调试它的技巧。 有很多方法使用PanelImage.hidden,它曾经在2days之前工作。现在只有PanelImage.hidden工作的地方是自定义初始化函数(从ViewDidLoad调用) 这也是一个非常大的代码。

经过大量调试后,我发现PanelImage.hidden无法运行

    PanelImage.hidden = YES;//works till here here
    [self GetSymbolAttr];//wont work after this function is called

GetSymbolAttr的定义

   -(void)GetSymbolAttr
 {

int tmp = 0;
NSArray* PosAndSizeArrForCurrSlot = [[PosAndSizeArr objectAtIndex:SlotId] componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@" "]];
for(NSString* values in PosAndSizeArrForCurrSlot)
    PositionAndSize[tmp++]  = [values intValue];

 }

你可以看到GetSymbolAttr中没有发生任何事情会使Pattern.hidden无法运行

3 个答案:

答案 0 :(得分:2)

如果PanelImage.hidden = YES;现在正在运行,那么你可以将alpha.set设置为零。 PanelImage.alpha = 0 ;

答案 1 :(得分:0)

试试这个:

    UIImageView *PanelImage = [[UIImageView alloc] initWithImage:[UIImage ...]];
    [self.view addsubView:PanelImage];

我没有找到initWithImageNamed的{​​{1}}方法!

答案 2 :(得分:0)

你是否在同一个方法中设置了PanelImage.hidden = YES,你正在做UIImageView * PanelImage = [[UIImageView alloc] initWithImageNamed:@“Panel.png”];?或者你没有使用同名PanelImage的类字段?