2015-01-31 3 views
0

У меня есть приложение, в котором есть два subviews.I хочу дважды коснуться видео (сверху), чтобы сделать его полноэкранным для отображения видео. (Полноэкранный режим, я имею в виду, он должен быть в ландшафтном режиме). Так как я должен делать в метод -(void)handleTapGesture::(UITapGestureRecognizer*)recognizer? Я думаю, прежде всего, я должен скрыть строку состояния и панель навигации; затем поверните видеоизображение, чтобы сделать его левым/правым влево. BTW, по какой-то причине, я должен сделать свое приложение только поддерживающим портретным режимом. Наверное, мой ужасный английский, если вы не понимаете мой вопрос четко, PLZ оставить комментарий, спасибо. project build settingsКак настроить динамический экран uiview?

enter image description here

Update: Я спрятался строка состояния и панель навигации и другое, но когда я делаю вид видео на весь экран, кажется, панель навигации и строка состояния по-прежнему существует, и мой взгляд видео не может двигаться до верхней части экрана!

[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide]; 
[self.navigationController.navigationBar setHidden:YES]; 

[UIView beginAnimations : @"video full screen" context:nil]; 
[UIView setAnimationDuration:0.3]; 
[UIView setAnimationBeginsFromCurrentState:YES]; 

self.videoView.frame = self.view.bounds; 
moviewGLView.frame = CGRectMake(0, 0, self.videoView.frame.size.width, self.videoView.frame.size.width*3/4); 
moviewGLView.center = self.videoView.center; 
videoDefault.center = self.videoView.center; 
[UIView commitAnimations]; 

ответ

0

добавить этот код в методе ViewDidLoad()

UITapGestureRecognizer *tapOnTopView = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(makeTopViewFullScreen)]; 
tapOnTopView.numberOfTapsRequired = 1; 
[topView addGestureRecognizer:tapOnTopView]; 

добавить следующую функцию

-(void)makeTopViewFullScreen 
{ 
    [UIView animateWithDuration:0.3 
      animation:^ 
        { 
         topViewHeightConstraint = self.view.frame.size.height; 
         bottomViewHeightConstraint = 0; 
         [self layoutIfNeeded]; 
        } 
      completion:^ 
        { 
         //your code to rotate the topView 
        } 
} 

к сведению, что topViewHeightConstraint и bottomViewHeightConstraint должны быть розетки, подключенные в IB.

Надеюсь, что это поможет, сообщите мне, если вам нужна дополнительная помощь.

+0

Я отключил автоматическую компоновку из-за [проблемы с анимацией] (http://stackoverflow.com/questions/27766467/animated-uiview-returns-back-after-some-specific-actions-are-triggered), и я Обновленный вопрос. PLZ проверить это. –

Смежные вопросы