2015-02-05 6 views
-3

У меня есть приложение Ipad, которые поддерживают в режиме «ландшафтной» Теперь я хочу, чтобы это поддержка для обоих файлов «XIb», «пейзаж и портрет» этот проект выполнен сориентация в ИО IPad

я использовал некоторые делегаты, но я не получил решение, что я должен делать я использую этот код

- (void)viewWillTransitionToSize:(CGSize)size 
     withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator 
{ 
    [super viewWillTransitionToSize:size withTransitionCoordinator:coordinator]; 

    //The device has already rotated, that's why this method is being called. 
    UIInterfaceOrientation toOrientation = [[UIDevice currentDevice] orientation]; 
    //fixes orientation mismatch (between UIDeviceOrientation and UIInterfaceOrientation) 
    if (toOrientation == UIInterfaceOrientationLandscapeRight) toOrientation = UIInterfaceOrientationLandscapeLeft; 
    else if (toOrientation == UIInterfaceOrientationLandscapeLeft) toOrientation = UIInterfaceOrientationLandscapeRight; 

    UIInterfaceOrientation fromOrientation = [[UIApplication sharedApplication] statusBarOrientation]; 

    [self willRotateToInterfaceOrientation:toOrientation duration:0.0]; 
    [coordinator animateAlongsideTransition:^(id<UIViewControllerTransitionCoordinatorContext> context) { 
     [self willAnimateRotationToInterfaceOrientation:toOrientation duration:[context transitionDuration]]; 
    } completion:^(id<UIViewControllerTransitionCoordinatorContext> context) { 
     [self didRotateFromInterfaceOrientation:fromOrientation]; 
    }]; 

} 


-(void)willTransitionToTraitCollection:(UITraitCollection *)newCollection withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator 
{ 

    NSLog(@"Transition"); 
} 
+0

любые другие методы я должен Райта или любая вещь, я должен изменить мне помочь – Mahesh

+0

любая помощь будет оценена и upvoted – Mahesh

+0

прочитать http://goo.gl/Y3cyps, здесь вы найдете ответы. –

ответ

0

вы должны добавить ключ UISupportedInterfaceOrientation со списком orientations (вы можете сделать это с Xcode UI в Общие настройки целевого объекта). Кроме того, если вам нужны различные ориентации на разных контроллерах зрения, вы можете переопределить метод

- (NSUInteger)supportedInterfaceOrientations 

И вы должны прочитать эту adaptive interface, потому что в ИОС 8, ориентация изменения средства изменения размера поля зрения.

+0

У меня есть изображения с изображениями на ярлыках на экране, которые необходимо отрегулировать в соответствии с ориентацией, пожалуйста, введите код примера для этого – Mahesh

+0

Извините, но код полагается на цели. Но я думаю, потому что вы используете xib-файлы, вы должны использовать autolayout в xib. Автовыход в xib очень похож на автозапуск в раскадровке, вы можете просмотреть его здесь http://goo.gl/wxyjwo. Если вы хотите использовать автозапуск из кода, вы должны увидеть эту библиотеку, очень просто использовать http://goo.gl/eMNij0 –

+0

И прочитайте это http://goo.gl/q00caS, чтобы понять, как создать автозапуск в InterfaceBuilder , –

0

Ниже приведен пример того, как отслеживать размер экрана первоначально и изменения ориентации в Swift на прошивке 8.

Я бы уронить метод делегата коллекции черта, если вы только начинаете. Программно работая с ограничениями и переходами на , уровень очень сложный и сложный. Некоторые из них развиваются и/или не хорошо документируются, и все происходит с перестановками ограничений за кулисами, которые трудно понять. Наверное, вам не нужно некоторое время возиться с такими вещами.

Если вам нужно полностью настроить ограничение программно, чтобы начать, в общем случае легче сделать макет в построителе интерфейса с ограничениями и уменьшить проблему, чтобы внести незначительные корректировки в наименьшее количество ограничений, возможных из кода, где вы получаете доступ к конкретным ограничениям через IBOutlet и изменяете их свойство .constant (а не удалять/заменять ограничения, что очень сложно).

Если вы только начинаете в этой точке истории iOS, я думаю, что Swift - лучший способ пойти, чем Objective C (я сделал много программ Objective C) Swift - это будущее с Apple, и обладает некоторыми хорошими мощными функциями при решении некоторых проблем и задач в Objective C. И он предлагает множество удобств.

override func viewWillAppear(animated: Bool) { 
     adjustViewLayout(UIScreen.mainScreen().bounds.size) 
    } 

    override func viewWillTransitionToSize(size: CGSize, withTransitionCoordinator coordinator: UIViewControllerTransitionCoordinator) { 
     adjustViewLayout(size) 
    } 

    func adjustViewLayout(size: CGSize) { 
     var width = CGSize.width 
     var height = CGSize.height 

     /* this method will be called when the view is 
      about to appear and whenever the orientation 
      changes. Adjust what you need to here based 
      on the incoming width and height 

      you can infer whether the screen is in 
      landscape or portrait by which dimension 
      is larger. Or use a switch statement 
      to check for specific screen sizes 
      and orientations. Though it may 
      be incomplete knowledge of layout or 
      a failure of design if you need to do that */ 

    } 
+0

вы можете сделать это для Objective-C, и у меня есть несколько видов изображений изображений на экране, которые он должен настроить в соответствии с ориентацией, пожалуйста, предоставьте мне пример кода для этого – Mahesh

+0

Дайте мне пример – Mahesh

+0

https://developer.apple.com/library /mac/documentation/Swift/Conceptual/Swift_Programming_Language/index.html – clearlight