Анимация взглядов братьев и сестер - PullRequest
0 голосов
/ 04 октября 2011

У меня есть сетка UIViews, к каждому из которых прикреплено событие касания.При касании UIView я хотел бы исчезнуть все его братья и сестры.

Есть ли у кого-нибудь направление, чтобы дать на это?Могут ли обработанные угасающие братья и сестры обрабатываться UIView, к которому прикоснулись, или контроллер представления должен исчезнуть братьев и сестер?

EDIT: Понял:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {

    for (UIView *subview in [self.superview subviews]) {
        if ( subview != self ) {
            subview.layer.opacity = 0.5;
        }      
    }

    [super bringSubviewToFront:self];

}

1 Ответ

1 голос
/ 04 октября 2011

Вы также можете сделать это на уровне UIView.Просто перенесите изменения в альфа-представление в блоке анимации UIView.Например:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
  [UIView beginAnimations:nil context:NULL];  
  [UIView setAnimationDuration:0.5];
  for (UIView *subview in [self.superview subviews]) {
    if ( subview != self ) {
      [subview setAlpha:0.5];
    }      
  }
  [UIView commitAnimations];    
  [super bringSubviewToFront:self];

}

Это должно привести к уменьшению прозрачности всех подпредставлений до половины непрозрачности в течение половины секунды.Вы получили это отсортировано, но я просто подумал, что добавлю UIView способ достижения того же результата.

С уважением.

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