Создайте анимацию слайдов, удалив один UIView, а затем добавьте другой UIView - PullRequest
0 голосов
/ 21 декабря 2011

У меня есть вид, который имеет веб-вид и UIToolbar.

Я хочу создать анимацию, которая выполняет переход "kCATransitionFromTop", сначала удалив предыдущее веб-представление, а затем добавив новый веб-вид в superView. Во время этого перехода я хочу, чтобы панель инструментов оставалась в любом положении, в котором она находится сейчас, и НЕ двигалась.

Код: Добавить панель инструментов

toolbar = [[UIToolbar alloc] init]; 
toolbar.barStyle = UIBarStyleDefault;
toolbar.tintColor = [UIColor blackColor];
[toolbar setFrame:CGRectMake(0, 480 - 88 - 20, 320.0, 44)];
//Add the toolbar as a subview to the navigation controller. 
[self.view addSubview:toolbar];

Анимация:

UIView *currentView = webView;
UIView *theWindow = [currentView superview];

UIView *newView = [[UIWebView alloc] initWithFrame: CGRectMake(0, 0, 320, self.view.bounds.size.height - self.navigationController.toolbar.frame.size.height)];
newView.backgroundColor = [UIColor whiteColor];

// remove the current view and replace with new view
[currentView removeFromSuperview];
[theWindow insertSubview:newView belowSubview:toolbar];

// set up the animation 
CATransition *animation = [CATransition animation];
[animation setDuration:0.4];
[animation setType:kCATransitionPush];
[animation setSubtype:kCATransitionFromTop];
[animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];

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

Кажется, все работает нормально, за исключением того, что панель инструментов также перемещается вместе с веб-обзором ... Что я сделал не так и как я могу решить эту проблему?

1 Ответ

0 голосов
/ 21 декабря 2011

Разве вы не хотите применить только переход к layer из newView?

[[newView layer] addAnimation:animation forKey:@"PushNextArticleView"];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...