Слайд UIView Переходы - PullRequest
       24

Слайд UIView Переходы

0 голосов
/ 09 апреля 2011

Я хочу переключать представления в viewcontroller с переходным слайдом. Я нашел следующий код онлайн.

//  get  the  view  that's  currently  showing 
UIView *currentView = self.view; 
//  get  the  the  underlying  UIWindow,  or  the  view  containing  the  current  view  view 
UIView *theWindow = [currentView superview]; 

//  remove  the  current  view  and  replace  with  myView1 
[currentView removeFromSuperview]; 
[theWindow  addSubview:PlayingView]; 
PlayingView.frame = CGRectMake(0, 0, 320, 460);
//  set  up  an  animation  for  the  transition  between  the  views 
CATransition *animation = [CATransition animation]; 
[animation setDuration:1]; 
[animation setType:kCATransitionPush]; 
[animation setSubtype:kCATransitionFromLeft]; 
[animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];

[[theWindow layer] addAnimation:animation forKey:@"SwitchToView1"]; 

Это кодовое слово отлично, но на дне ОЧЕНЬ надоедливая белая полоска! Я нашел код:

  PlayingView.frame = CGRectMake(0, 0, 320, 460);

, который, кажется, не работает.

Итак, ссылка на найденное мной место http://www.iphonedevsdk.com/forum/iphone-sdk-development/13427-uiview-slide-transition.html

Ответы [ 2 ]

2 голосов
/ 09 апреля 2011

Должно быть 480, а не 460, но вместо этого вы должны использовать PlayingView.frame = theWindow.bounds вместо того, чтобы вручную создавать CGRect.Он также будет работать в универсальном приложении или для ландшафта.

0 голосов
/ 09 апреля 2011

Если вы не отображаете строку состояния, тогда высота экрана составляет 480 (строка состояния составляет 20 пикселей). Поэтому попробуйте изменить его на CGRectMake (0, 0, 320, 480).

...