我添加一個MPMoviePlayerController
到容器視圖像這樣:子視圖(的MPMoviePlayerController)不動畫隨着容器視圖
self.moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:self.videoURL];
. . .
self.moviePlayer.view.frame = self.frame;
[self addSubview:self.moviePlayer.view];
的self
是容器視圖。這個容器視圖在被視圖控制器創建時在屏幕外實例化。所以容器視圖駐留在視圖中,並且MPMoviePlayerController
駐留在容器視圖中。
當我在屏幕上爲容器視圖設置動畫時,它可以工作。其他視圖滑落並且此視圖滑入。但是,MPMoviePlayerController
保持其框架不在屏幕上。所以MPMoviePlayerController
的容器視圖在屏幕上移動,但它不隨其容器視圖移動。這是不允許的,還是我錯過了什麼?爲動畫容器視圖的代碼是下面:
[UIView animateWithDuration:ANIMATION_LENGTH animations:^() {
for(int i = beginTag; i < beginTag + [self subviews].count; i++) {
UIView *viewPointer = [self viewWithTag:i];
CGRect viewFrame = viewPointer.frame;
viewFrame.origin.x -= SCREEN_WIDTH_VC;
viewPointer.frame = viewFrame;
}
} completion:^(BOOL finished) {
[self.vidLoad playVideo];
}];
這需要動畫是屏幕上從屏幕的元件,並且然後使離屏元件到屏幕上的照顧。我很高興聽到所有建議!
事實上,這個視圖的子視圖並沒有隨其容器視圖一起移動。在這一點上,我猜測我的視圖層次結構沒有很好地設計/支持。哎呀! – bgoers