Вандад Нахавандипур

iOS. Приемы программирования


Скачать книгу

в файле реализации метод application: didFinishLaunchingWithOptions:, относящийся к делегату приложения, инстанцируем контроллер вида и добавим его в наше окно как корневой контроллер вида:

      – (BOOL) application:(UIApplication *)application

      didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{

      self.viewController = [[ViewController alloc] initWithNibName: nil

      bundle: nil];

      self.window = [[UIWindow alloc]

      initWithFrame: [[UIScreen mainScreen] bounds]];

      /* Делаем наш контроллер вида корневым контроллером вида */

      self.window.rootViewController = self.viewController;

      self.window.backgroundColor = [UIColor whiteColor];

      [self.window makeKeyAndVisible];

      return YES;

      }

      Теперь снова попробуем запустить приложение в эмуляторе. На экране увидим вид, имеющий ровный белый цвет. Поздравляю: вы только что создали контроллер вида, и теперь у вас есть доступ не только к контроллеру вида, но и к самому объекту этого вида.

      Если при создании контроллера вида (см. рис. 1.25) установить флажок With XIB for user interface (Использовать файл XIB для пользовательского интерфейса), то Xcode также сгенерирует файл XIB. В таком случае вам придется загрузить контроллер вашего вида из этого файла XIB, передав в параметр initWithNibName метода initWithNibName: bundle: контроллера вида полное имя файла XIB:

      – (BOOL) application:(UIApplication *)application

      didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{

      self.viewController = [[ViewController alloc]

      initWithNibName:@"ViewController"

      bundle: nil];

      self.window = [[UIWindow alloc]

      initWithFrame: [[UIScreen mainScreen] bounds]];

      /* Делаем наш контроллер вида корневым контроллером вида */

      self.window.rootViewController = self.viewController;

      self.window.backgroundColor = [UIColor whiteColor];

      [self.window makeKeyAndVisible];

      return YES;

      }

      Если вы все же создали файл XIB, подготавливая контроллер вашего вида, этот файл теперь можно выбрать в Xcode и смастерить пользовательский интерфейс в конструкторе интерфейсов.

      См. также

      Раздел 1.0.

      1.10. Предоставление возможностей совместного использования информации с применением UIActivityViewController

      Постановка задачи

      Внутри вашего приложения вы хотите предоставить пользователям возможность обмениваться контентом с их друзьями. Для этого предполагается использовать интерфейс, подобный тому, что показан на рис. 1.27. В этом интерфейсе предоставляются различные возможности совместного использования информации, имеющиеся в iOS, – например, через Facebook и Twitter.

      Решение

      Создайте экземпляр класса UIActivityViewController и реализуйте совместное использование контента в этом классе так, как рассказано в подразделе «Обсуждение» данного раздела.

      Экземпляры класса UIActivityViewController на iPhone следует представлять модально, а на iPad – на вспомогательных экранах. Более подробно о вспомогательных экранах рассказано в разделе 1.29.

      Рис. 1.27. Контроллер вида для обмена информацией, открытый на устройстве с iOS

      Обсуждение

      В iOS существует масса возможностей совместного использования информации. Все они реализованы в ядре операционной системы. Например, такой неотъемлемой частью ядра сейчас является интеграция с Twitter и Facebook. Вы можете делиться практически любым контентом из этих сетей, находясь где угодно. Сторонние приложения наподобие