среда, 19 августа 2015 г.

17. UIViewController

Урок 17 находящийся здесь
является вводным в UIViewController.
В нем объясняется базовые моменты в UIView Controller.

Функции которые запускаются в процессе запуска и работы приложения:

Первый метод, (после loadView) вызываемый после запуска UIViewController:
- (void)viewDidLoad

 Метод который вызывается до появления представления
-(void) viewWillAppear:(BOOL)animated

Метод который вызывается после появления представления
-(void) viewDidAppear:(BOOL)animated

Метод вызывается перед тем, как представление закроется
-(void) viewWillDisappear:(BOOL)animated

Метод вызывается после того, как представление закроется.

-(void) viewDidDisappear:(BOOL)animated



-(void) viewWillLayoutSubviews


Некоторые методы описанные в видео-уроке уже устарели (deprecated)  и  их нельзя использовать в новых версиях Xcode.

     -(void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation

Вместо этого метода нужно использовать следующую конструкцию:

 - (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator
{
    [coordinator animateAlongsideTransition:^(id<UIViewControllerTransitionCoordinatorContext> context)
     {
         UIInterfaceOrientation orientation = [[UIApplication sharedApplication] statusBarOrientation];
         // do whatever
                 
switch (orientation) {
             case UIInterfaceOrientationLandscapeLeft: 
     ....

     } completion:^(id<UIViewControllerTransitionCoordinatorContext> context)
     {
         //some code
     }];
   
    [super viewWillTransitionToSize:size withTransitionCoordinator:coordinator];
}


Выполнил небольшое домашнее задание к уроку.
Программа выводит на  экран на каком устройстве запущена (iPhone,iPad).
Выводит текущее положение экрана (портрет, горизонтальное левое и т.д.).
Так же выводит имена функции которые запускаются при старте контроллера.
Вот здесь видео-демонстрация программы.


Здесь исходный код домашнего задания к уроку 17.


 Вот некоторые моменты
Определение на каком устройстве запускается программа.
Здесь же функция setText устанавливает текст в поле Label.

    if (UI_USER_INTERFACE_IDIOM()==UIUserInterfaceIdiomPad){
        [self.deviceLabel setText:@"Device Ipad"];
       
    }
    else{
        if(UI_USER_INTERFACE_IDIOM()==UIUserInterfaceIdiomPhone){
            [self.deviceLabel setText:@"Device Iphone"];
        }
    }

Комментариев нет:

Отправить комментарий