Лекция 13 CS193P Spring 2016 — NSTimer и анимация.

На Лекции 13 рассматривается одна маленькая тема -таймер NSTime, и одна большая — анимация.  
В начале Лекции 13 рассматривается очень простой маленький класс, NSTime, который позволяет вам вызывать метод либо периодически — снова и снова через определенный интервал, либо один раз когда-нибудь в будущем.Таймер создан на основе специальной iOS технологию Run loopsДля  main queue система автоматически устанавливает  для вас Run loops, так что на main queue NSTimer работает всегда.
Пол Хэгерти представляет демонстрационный пример, в котором использует  приложение FaceIt, и заставляет в нем «лицо» «моргать глазами» с помощью двух таймеров NSTime, перекрестно вызывающих друг друга, что выглядит менее «роботизированно», чем если бы использовался один повторяющийся таймер. По ходу дела он рассказывает что такое в Swift метод,  доступный Objective-C на этапе run time, потому что именно такой метод запускает NSTime. А также показывает, как создать Actions и Outlets в superclass.

Основная часть лекции посвящена анимации. Профессор делает небольшой обзор типов анимации, которые доступны в iOS, но фокусируется на анимации views (UIViews).

Читать далее

Лекция 12 CS193P Spring 2016 — Autolayout (Автоматическая разметка).

Screen Shot 2016-08-19 at 11.38.48 AM
Лекция 12 посвящена очень важной теме: механизму Autolayout (автоматическая разметка).
Вначале дается обзор того, что нам уже известно об Autolayout  к этому моменту времени, так как во всех предыдущих лекциях элементы Autolayout  уже были представлены в той или иной степени. Это направляющие голубые пунктирные линии, это использование CTRL-перетягивания, как способа # 1 для создания ограничений системы Autolayout, а также меню «Pin» и «Align«. В связи с тем, что начиная с iOS 8 используется новая концепция «Адаптивного интерфейса» и появилось понятие Size Class,  роль механизма Autolayout  сильно возросла и теперь в iOS без нее уже не обойтись.
Общую большую картину всех ваших ограничений вы можете получить в Document Outline (схеме UI), который является своеобразной «штаб-квартирой» системы Autolayout,  Именно здесь можно определить, какие ограничения действуют в определенном Size Class, можно разрешить конфликты между ограничениями, можно вести «охоту» за «магическими» числами.

Читать далее