Интуит. Разработка приложений для iOS. Лекция 4. Controllers

643 views

Published on

Published in: Education
1 Comment
0 Likes
Statistics
Notes
  • скрыть Modal controller вызывается чаще из самого modal, я бы написал [self.presentingViewController dissmissViewController:YES completion:nil] вместо просто self.. я обычно так их закрываю.. :)
    или имя метода изменить
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

No Downloads
Views
Total views
643
On SlideShare
0
From Embeds
0
Number of Embeds
10
Actions
Shares
0
Downloads
12
Comments
1
Likes
0
Embeds 0
No embeds

No notes for slide

Интуит. Разработка приложений для iOS. Лекция 4. Controllers

  1. 1. Controllers Разработка приложений для iOS Лекция 4 Глеб Тарасов gleb34@gmail.com
  2. 2. Вспомним прошлое занятие
  3. 3. Как задается положение UIView на экране?
  4. 4. Как задается положение UIView на экране? view.frame = CGRectMake(…)
  5. 5. Как показать UIView на экране?
  6. 6. Как показать UIView на экране? добавить в какое-то уже видимое view через addSubview:
  7. 7. Как реагировать на нажатие кнопки UIButton?
  8. 8. Как реагировать на нажатие кнопки UIButton? [button addTarget:self action:@selector(method) forControlEvents:UIControlEventTouchUpInside];
  9. 9. В каком методе UIViewController заполняем интерфейс?
  10. 10. В каком методе UIViewController заполняем интерфейс? viewDidLoad
  11. 11. Сложные контроллеры
  12. 12. UINavigationController
  13. 13. ViewController *c = [[ViewController alloc] init]; ! UINavigationController *nc = [[UINavigationController alloc] initWithRootViewController:c]; ! self.window.rootViewController = nc;
  14. 14. - (void)buttonTapped { MyViewController *my = [[MyViewController alloc] init]; [self.navigationController pushViewController:my animated:YES]; } - (void)backTapped { [self.navigationController popViewControllerAnimated:YES]; } Показать контроллер Скрыть контроллер
  15. 15. UITabBarController
  16. 16. FirstViewController *vc1 = [[FirstViewController alloc] init]; SecondViewController *vc2 = [[SecondViewController alloc] init]; ThirdViewController *vc3 = [[ThirdViewController alloc] init]; ForthViewController *vc4 = [[ForthViewController alloc] init]; ! UITabBarController *t = [[UITabBarController alloc] init]; t.viewControllers = @[ vc1, vc2, vc3, vc4 ]; self.window.rootViewController = t;
  17. 17. Modal Controller
  18. 18. - (void)buttonTapped { DataViewController *vc = [[DataViewController alloc] init]; [self presentViewController:vc animated:YES completion:nil]; } Показать контроллер - (void)backTapped { [self dismissViewControllerAnimated:YES completion:nil]; } Скрыть контроллер
  19. 19. UIPopoverController
  20. 20. - (void)showPopover { UIViewController *vc = [[UIViewController alloc] init]; vc.view.frame = CGRectMake(0, 0, 100, 200); UIPopoverController *p = [[UIPopoverController alloc] initWithContentViewController:vc]; [p presentPopoverFromRect:self.button.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES]; self.popover = p; }
  21. 21. UISplitViewController
  22. 22. UIPageViewController
  23. 23. Демонстрация ! «Погода»
  24. 24. Домашнее задание • составить список всех экранов и продумать переходы между ними • для каждого экрана создать контроллер • реализовать переходы между контроллерами • вместо списков пока сделать одну-две кнопки
  25. 25. Всё! Глеб Тарасов gleb34@gmail.com twitter.com/pilot34

×