Анимация при изменении положения кадра перекрывает другой вид

Я ценю, если кто-то может помочь мне найти решение следующей ситуации.

Я хочу анимировать репозицию UIView в одну точку к другой (я смог это сделать, пожалуйста, проверьте код ниже), но у меня есть другой UIView в середине... фактически этот второй вид расположен сразу после представления я хочу переехать То, что я хочу сделать в основном, состоит в том, чтобы не видеть анимацию на этом втором виде.

    //second view placed at position x = 100, width = 20, height = 20
    UIView *secondView = [[UIView alloc] initWithFrame:CGRectMake(100, 0, 20, 20)];
    seconView.backgroundColor = [UIColor redColor];
    [self.superview addSubview:secondView];

    //from now on, this code occurs when tapping a button

   //main view placed at position x = 0, width = 100, height = 20
   UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 20)];
   view.backgroundColor = [UIColor yellowColor];

   [self.superview addSubview:view];

   [UIView beginAnimations:@"moveView" context:nil];
   [UIView setAnimationCurve:UIViewAnimationCurveEaseIn];
   [UIView setAnimationDuration:0.7f];
   //main view will be moved to position x = 120, meaning that it will go through the second view.
   subView.frame = CGRectOffset(view.frame, view.frame.size.width + seconView.frame.size.width, 0);

    [UIView commitAnimations];

Я играл со свойствами zposition, opaque, opacity, alpha и yieldToFront без какого-либо успеха.

1 ответ

Я уже понял это.

Моя проблема заключалась в том, что вместо этого у меня были UIBUttons, поэтому я поместил их в UIViews и установил большую zposition для второго вида, а также цвет фона должен быть тем же, что и в суперпредставлении.

Другие вопросы по тегам