Управление программно созданными UIViews - PullRequest
1 голос
/ 06 июля 2011

Каков наилучший способ манипулировать свойствами, такими как hidden, alpha и т. Д. Для представления, которое вы создаете программно?

Например, предположим, что вы делаете это:

  [self insertSubview:self.newview aboveSubview:self.tempSplash];

Все, что вы делаете с newview на данный момент, не влияет на фактический вид на экране, я заметил.

Теперь я могу получить указатель на мое новое подпредставление, но если его нет в кончике, тогда я могу думать только о том, чтобы сделать что-то неуклюжее:

 UIView*controlPointer=[self.subviews objectAtIndex:whatever];

Проблема в том, что не существует элегантного способа выяснить индексный номер вновь созданного представления, и обработка индексных номеров для подпредставлений кажется немного экстремальной. Есть ли еще один хороший способ получить указатель на это программно созданное подпредставление, чтобы я мог делать такие вещи, как:

 controlPointer.alpha=1;

и т.д.

Ответы [ 2 ]

0 голосов
/ 06 июля 2011

Если у вас уже есть self.newView, вы можете просто сделать

  self.newView.alpha=1; 

или

 self.newView.hidden=NO;

Если вы не видите ответ на это, что-то еще не так. Вы уверены, что self.newView не является нулевым?

 NSLog(@" self.newview is 0x%x", self.newView);  // should NOT be 0x0
0 голосов
/ 06 июля 2011

То, что вы добавляете self.newview, говорит о том, что у вас есть ивар типа UIView?Поэтому в любое время, когда вам нужно изменить свойство представления, просто вызовите что-то вроде:

self.newview.hidden = YES
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...