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

Здесь есть возможность читать онлайн «Вандад Нахавандипур - iOS. Приемы программирования» — ознакомительный отрывок электронной книги совершенно бесплатно, а после прочтения отрывка купить полную версию. В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: Санкт-Петербург, Год выпуска: 2014, ISBN: 2014, Издательство: Питер, Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

iOS. Приемы программирования: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «iOS. Приемы программирования»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

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

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

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «iOS. Приемы программирования», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Если вы работаете с симулятором iPhone, а не с реальным устройством, то можете имитировать и вращательное движение. Для этого нужно просто удерживать клавишу Option. В симуляторе вы увидите два кружка, которые появятся на одинаковом расстоянии от центра экрана. Они будут соответствовать подушечкам двух пальцев. Если вы захотите переместить «пальцы» из центра в другую точку экрана, то нужно нажать клавишу Shift, удерживая Alt, и перейти в желаемую точку. Когда вы отпустите указатель, новая точка станет центром для двух подушечек пальцев.

Теперь мы просто присвоим этот угол углу вращения метки. Но вы можете представить, что произойдет, когда одно вращение закончится, а другое начнется? Угол второго вращательного жеста заменит первое вращение в значении rotation и будет сообщен обработчику. Поэтому, как только вращательный жест завершится, необходимо сохранить текущее вращательное значение метки. Угловое значение, получаемое в результате каждого вращательного движения, должно суммироваться с предыдущими по очереди. Ранее было показано, как этот результат присваивается общему вращательному преобразованию метки.

Кроме того, прежде мы говорили о применении функции CGAffineTransformMakeRotation для создания аффинного преобразования. Функции iOS SDK, названия которых начинаются на CG, относятся к фреймворку Core Graphics. Чтобы в программах, использующих Core Graphics, успешно протекали процессы компиляции и связывания, необходимо убедиться, что Core Graphics добавлен в список фреймворков. В новых версиях Xcode стандартный проект автоматически связывается с фреймворком Core Graphics, так что об этом можно не беспокоиться.

Теперь, когда вы уверены, что фреймворк Core Graphics добавлен к целевой сборке, можно скомпилировать и запустить приложение.

См. также

Раздел 10.6.

10.3. Обнаружение жестов панорамирования и перетаскивания

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

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

Жесты панорамирования — это непрерывные движения пальцев по экрану. Напоминаю, что жесты смахивания являются дискретными. Это означает, что метод, задаваемый для распознавателя жестов панорамирования в качестве целевого, вызывается многократно от начала и до конца процесса распознавания.

Решение

Воспользуйтесь классом UIPanGestureRecognizer:

— (void)viewDidLoad {

[super viewDidLoad];

/* Сначала создаем метку. */

CGRect labelFrame = CGRectMake(0.0f, /* X */

0.0f, /* Y */

150.0f, /* Ширина */

100.0f); /* Высота */

self.helloWorldLabel = [[UILabel alloc] initWithFrame: labelFrame];

self.helloWorldLabel.text = @"Hello World";

self.helloWorldLabel.backgroundColor = [UIColor blackColor];

self.helloWorldLabel.textColor = [UIColor whiteColor];

self.helloWorldLabel.textAlignment = UITextAlignmentCenter;

/* Убеждаемся, что мы активизировали пользовательские взаимодействия;

в противном случае эта метка не будет фиксировать события нажатия. */

self.helloWorldLabel.userInteractionEnabled = YES;

/* А теперь убеждаемся, что метка отображается в виде. */

[self.view addSubview: self.helloWorldLabel];

/* Создаем распознаватель жестов панорамирования. */

self.panGestureRecognizer = [[UIPanGestureRecognizer alloc]

initWithTarget: self

action:@selector(handlePanGestures:)];

/* Для активизации распознавателя жестов панорамирования требуется

один палец. */

self.panGestureRecognizer.minimumNumberOfTouches = 1;

self.panGestureRecognizer.maximumNumberOfTouches = 1;

/* Добавляем распознаватель к виду. */

[self.helloWorldLabel addGestureRecognizer: self.panGestureRecognizer];

}

Распознаватель жестов панорамирования будет вызывать метод handlePanGestures: в качестве целевого. Этот метод описан в подразделе «Решение» данного раздела.

Обсуждение

Распознаватель UIPanGestureRecognizer, как понятно из его названия [9] Pan (англ.) — «панорамирование», recognizer (англ.) — «распознаватель». — Примеч. пер. , способен обнаруживать жесты панорамирования . В ходе работы этот распознаватель проходит через следующие состояния:

• UIGestureRecognizerStateBegan;

• UIGestureRecognizerStateChanged;

• UIGestureRecognizerStateEnded.

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

— (void) handlePanGestures:(UIPanGestureRecognizer*)paramSender{

if (paramSender.state!= UIGestureRecognizerStateEnded &&

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

Интервал:

Закладка:

Сделать

Похожие книги на «iOS. Приемы программирования»

Представляем Вашему вниманию похожие книги на «iOS. Приемы программирования» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


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

Обсуждение, отзывы о книге «iOS. Приемы программирования» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x