UIImageView.hidden свойство не работает? - PullRequest
1 голос
/ 07 сентября 2011

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);

выводит «Панель скрыта 0» даже после установки на

PanelImage.hidden = 1;

, пожалуйста, помогите, по крайней мере, скажите мне какую-нибудь технику для его отладки. Есть много методов, которые используют PanelImage.hidden, раньше он работал до 2days.now, только точка, где работает 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 ]

2 голосов
/ 07 сентября 2011

, если PanelImage.hidden = YES; сейчас работает, вы можете установить его alpha.set в ноль. PanelImage.alpha = 0 ;

0 голосов
/ 07 сентября 2011

Вы устанавливаете PanelImage.hidden = YES в том же методе, где вы выполняете UIImageView * PanelImage = [[UIImageView alloc] initWithImageNamed: @ "Panel.png"] ;? Или у вас нет класса поля с тем же именем PanelImage?

0 голосов
/ 07 сентября 2011

попробуйте это:

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

Я не нашел initWithImageNamed метод с UIImageView!

...