Вандад Нахавандипур - iOS. Приемы программирования

Тут можно читать онлайн Вандад Нахавандипур - iOS. Приемы программирования - бесплатно ознакомительный отрывок. Жанр: comp-programming, издательство Питер, год 2014. Здесь Вы можете читать ознакомительный отрывок из книги онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    iOS. Приемы программирования
  • Автор:
  • Жанр:
  • Издательство:
    Питер
  • Год:
    2014
  • Город:
    Санкт-Петербург
  • ISBN:
    978-5-496-01016-0
  • Рейтинг:
    3.9/5. Голосов: 101
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

Вандад Нахавандипур - iOS. Приемы программирования краткое содержание

iOS. Приемы программирования - описание и краткое содержание, автор Вандад Нахавандипур, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

Книга, которую вы держите в руках, представляет собой новый, полностью переписанный сборник приемов программирования по работе с iOS. Он поможет вам справиться с наболевшими проблемами, с которыми приходится сталкиваться при разработке приложений для iPhone, iPad и iPod Touch. Вы быстро освоите всю информацию, необходимую для начала работы с iOS 7 SDK, в частности познакомитесь с решениями для добавления в ваши приложения реалистичной физики или движений — в этом вам помогут API UIKit Dynamics.

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

iOS. Приемы программирования - читать онлайн бесплатно ознакомительный отрывок

iOS. Приемы программирования - читать книгу онлайн бесплатно (ознакомительный отрывок), автор Вандад Нахавандипур
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Вспомогательные экраны применяются только на устройствах iPad. Если у вас есть контроллер вида, чей код выполняется и на iPad, и на iPhone, необходимо гарантировать, что вспомогательные экраны не будут инстанцироваться на других устройствах, кроме iPad.

Вспомогательные экраны можно отображать и использовать двумя способами:

• открывать их из навигационной кнопки экземпляра UIBarButtonItem;

• открывать из прямоугольной области в виде.

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

Для создания демонстрационного приложения со вспомогательными экранами нужно сначала обдумать стратегию, зависящую от поставленных перед вами требований. Например, требуется написать приложение с контроллером вида, загруженным в навигационный контроллер. В корневом контроллере вида будет отображаться кнопка +, расположенная в правом углу навигационной панели. Если на устройстве iPad нажать кнопку +, откроется вспомогательный экран с двумя кнопками. На одной будет написано Photo (Фото), на другой — Audio (Аудио). При нажатии той же самой навигационной кнопки на iPhone отобразится предупреждающий вид (Alert View) с тремя кнопками — двумя вышеупомянутыми и кнопкой Cancel (Отмена), чтобы пользователь мог сам закрыть это окно, если захочет. При нажатии любой из этих кнопок (и в предупреждающем виде iPhone, и на вспомогательном экране iPad) мы фактически ничего не сделаем — просто уберем это окошко.

Итак, продолжим и создадим в Xcode универсальный проект Single View (Приложение с единственным видом). Назовем проект Displaying Popovers with UIPopoverController («Отображение вспомогательных экранов с помощью UIPopoverController»). Затем, воспользовавшись приемами, описанными в разделе 6.1, добавим в раскадровку навигационный контроллер, чтобы у контроллеров видов появилась навигационная панель.

После этого перейдем к определению корневого контроллера вида и укажем здесь свойство типа UIPopoverController:

#import «ViewController.h»

@interface ViewController ()

@property (nonatomic, strong) UIPopoverController *myPopoverController;

@property (nonatomic, strong) UIBarButtonItem *barButtonAdd;

@end

@implementation ViewController

Как видите, мы также определяем для контроллера вида свойство barButtonAdd. Это навигационная кнопка, которую мы добавим на нашу панель. Мы собираемся отображать вспомогательный экран после того, как пользователь нажмет эту кнопку (подробнее о навигационных кнопках рассказано в разделе 1.15). При этом необходимо гарантировать, что мы инстанцируем вспомогательный экран только для iPad. Прежде чем идти дальше и инстанцировать корневой контроллер вида с навигационной кнопкой, создадим подкласс от UIViewController и назовем его PopoverContentViewController. В дальнейшем будем отображать его содержимое на вспомогательном экране. В разделе 1.9 подробнее рассказано о контроллерах видов и о том, как их создавать.

В контроллере информационного вида, отображаемого на вспомогательном экране, будет две кнопки (как мы и рассчитывали). Тем не менее в этом контроллере вида должна быть также ссылка на контроллер вспомогательного экрана. Она нужна, чтобы убрать вспомогательный экран, как только пользователь нажмет любую из кнопок. Сначала в контроллере информационного вида нужно определить специальное свойство для ссылки на вспомогательный экран:

#import

@interface PopoverContentViewController: UIViewController

/* Не следует определять данное свойство как strong. В противном случае возникнет цикл удержания (Retain Cycle) между контроллером информационного вида и контроллером вспомогательного экрана, так как контроллер вспомогательного экрана не даст исчезнуть контроллеру информационного вида и наоборот. */

@property (nonatomic, weak) UIPopoverController *popoverController;

@end

И здесь же, в файле реализации контроллера вида с содержимым, объявим кнопки панели:

#import «PopoverContentViewController.h»

@interface PopoverContentViewController ()

@property (nonatomic, strong) UIButton *buttonPhoto;

@property (nonatomic, strong) UIButton *buttonAudio;

@end

@implementation PopoverContentViewController

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

— (BOOL) isInPopover{

Class popoverClass = NSClassFromString(@"UIPopoverController");

if (popoverClass!= nil &&

UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad &&

self.popoverController!= nil){

return YES;

} else {

return NO;

}

}

— (void) gotoAppleWebsite:(id)paramSender{

if ([self isInPopover]){

/* Перейти на сайт и закрыть вспомогательный экран. */

[self.popoverController dismissPopoverAnimated: YES];

} else {

/* Обработать ситуацию с iPhone. */

}

}

— (void) gotoAppleStoreWebsite:(id)paramSender{

if ([self isInPopover]){

/* Перейти на сайт и закрыть вспомогательный экран. */

[self.popoverController dismissPopoverAnimated: YES];

} else {

/* Обработать ситуацию с iPhone. */

}

}

— (void)viewDidLoad{

[super viewDidLoad];

self.contentSizeForViewInPopover = CGSizeMake(200.0f, 125.0f);

CGRect buttonRect = CGRectMake(20.0f,

20.0f,

160.0f,

37.0f);

self.buttonPhoto = [UIButton buttonWithType: UIButtonTypeRoundedRect];

[self.buttonPhoto setTitle:@"Photo"

forState: UIControlStateNormal];

[self.buttonPhoto addTarget: self

action:@selector(gotoAppleWebsite:)

forControlEvents: UIControlEventTouchUpInside];

self.buttonPhoto.frame = buttonRect;

[self.view addSubview: self.buttonPhoto];

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Вандад Нахавандипур читать все книги автора по порядку

Вандад Нахавандипур - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




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


Отзывы читателей о книге iOS. Приемы программирования, автор: Вандад Нахавандипур. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x