Можно ли установить границы для представления до того, как он будет показан

StackOverflow https://stackoverflow.com/questions/3749563

  •  04-10-2019
  •  | 
  •  

Вопрос

-(void)CallingView2{

    SettingsViewController *aSettingsView = [[SettingsViewController alloc] initWithNibName:@"Settings" bundle:nil];

    [self setSettingsViewController:aSettingsView];
    [aSettingsView release];

    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:1.0];
    //setting the animation
    [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:window cache:YES];
    [self.window addSubview:[settingsViewController view]];
    **[[settingsViewController view] setBounds:CGRectMake(0, -30, 320, 480)];**

    [UIView commitAnimations];}

Я поставил код между звездами в коде, где я делаю мою анимацию, и он работает, она движется, как следует, но теперь проблема в том, что когда я поворачиваю к представлению, я могу видеть, когда вид движется вниз. Можно ли установить границы для представления, прежде чем он отображается, чтобы пользователь не мог видеть, когда он движется 30px вниз каждый раз, когда он переходит в настройки

Это было полезно?

Решение

Ваша проблема заключается в том, что вы устанавливаете границы просмотра в блоке анимации. Происхождение зрения будет анимировать из (0,0) до (0, -30) в течение того времени, чтобы выполнить переход Flip.

Установка геометрии просмотра в ViewSidload контроллера просмотра будет лучшим подходом.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top