Еще с beta версии iOS 8 мне очень понравилась эта новая фича приложения почты: при создании нового письма можно просто смахнуть это окно вниз и продолжить работу на предыдущем экране. Не уверен насколько эта фича оказалась полезной конкретно в этом приложении, но идея то отличная! В тот же вечер я сел делать подобную штуку, и таки сделал свой велосипед, и на время забыл об этом.
Недавно мне понадобился похожий функционал. Не захотев брать свое старое решение, и не найдя готовой реализации, которая бы мне понравилось, было решено написать свое. Что из этого получилось, с какими трудностями пришлось столкнуться, и что нового было вынесено — под катом.
Рубрика «xcode» - 11
Реализуем свой dropDown ViewController (aka iOS 8 Mail app) в 200 строк
2016-02-08 в 12:24, admin, рубрики: Cocoa, iOS разработка, transition, xcode, разработка под iOSМагия IBDesignable или расширяем функциональность Interface Builder в Xcode
2016-01-08 в 10:26, admin, рубрики: interface builder, iOS, swift, uikit, xcode, интерфейсы, прототипирование, разработка под iOS, стилизация
Interface Builder в Xcode с некоторого времени экономит мне много времени в работе по стандартному лайауту элементов интерфейса и иногда помогает в задаче прототипирования. С версии 6 в Xcode добавили возможность рендера кастомных вьюшек, помеченных атрибутом IBDesignable, а также отображение в билдере полей класса, помеченных атрибутом IBInspectable.
С версии Xcode 7 этой фичей стало более-менее возможно пользоваться, поэтому мне захотелось проверить её возможности.
Почитать про IBDesignable/IBInspectable можно тут и тут.
Читать полностью »
Мобильный браузер Safari научился блокировать рекламу
2015-06-11 в 6:11, admin, рубрики: apple, iOS, iOS 9, ipad, iphone, json, safari, xcode, блокировка рекламы, браузерыКомпания Apple совершенно неожиданно нанесла удар в поддых рекламной индустрии, легализуя использование контент-блокировщиков в мобильной версии Safari под iOS 9. Вполне очевидно, какой именно контент будут блокировать такие расширения в первую очередь: это реклама.
Этого не объявляли во время презентации в понедельник, но о поддержке соответствующих расширений говорится в официальной документации.
«Новая версия Safari содержит поддержку расширений для блокировки контента (Content Blocking Safari Extensions) в iOS, — сказано в документации. — Блокировка контента предоставляет расширению быстрый и эффективный способ блокировать куки, картинки, ресурсы, всплывающие окна и другой контент».
Читать полностью »
Xcode: плагины для плагинов
2015-04-17 в 15:26, admin, рубрики: objective-c, plugin, xcode, Разработка под OS X
Заинтересовавшись публикацией «Пишем свой Xcode plugin» решил написать простой тайм-трекер для Xcode. Процесс, через который я прошел — суть данной статьи. В ней мы с вами разберём несколько плагинов, которые помогут писать другие плагины быстрее и эффективнее.
Основная идея любого плагина с интерфейсом состоит в том, что он интегрируется в UI Xcode'a и выглядит максимально родным для него. Но как только мы смотрим на окно Xcode, сразу же встает вопрос: «Как понять где какой объект и как нам интегрироваться в нужный нам?» Так на нашем пути появляется первый плагин. Мы напишем простой плагин, который будет загружаться в Xcode и говорить, где какой объект расположен.
Читать полностью »
Алгоритмы интеллектуальной автогенерации уровней в iOS игре
2015-04-15 в 3:00, admin, рубрики: game development, Gamedev, ios development, ipad, iphone, xcode, автогенерация карт, Алгоритмы, математика, поиск пути, разработка под iOS, метки: ios development Все ошибки по данной статье присылайте, пожалуйста, в личные сообщения.
Я люблю смотреть на звездное небо и размышлять о далеких мирах, но факт бесконечности вселенной с трудом укладывается в моей голове. Согласно теории большого взрыва, наша вселенная непрерывно расширяется и охлаждается из сингулярного состояния, но давайте предположим, что наша бесконечная вселенная постоянно генерируется по определенным правилам, и количество этих правил ограниченно. Можно допустить, что наша вселенная уже сгенерировалась, то есть для каждой точки бесконечной вселенной уже была произведена генерация по конечному числу правил (генерация была произведена бесконечное количество раз), в итоге мы имеем бесконечную сгенерированную вселенную.
Вернемся к нашей задаче, нам нужно интеллектуально генерировать карты для IPhone/IPad игры типа «Марио», для начала мы рассмотрим генерацию карты в пределах поля 128х128 кубов.
Читать полностью »
Изменение адаптивности Popover в iOS 8.3
2015-04-14 в 9:27, admin, рубрики: adaptive, cs193p 2015, ios 8, mobile development, Popover, presentation mode, swift, xcode, Программирование, разработка под iOS, стэнфодрские курсы, метки: adaptive, cs193p 2015, iOS 8, Popover, presentation mode, Swift, стэнфодрские курсы История написания этой статьи связана с изучением работы Popover в iOS 8 по материалам курса лекций стэнфордского университете «Разработка iOS 8 приложений на Swift. CS193P 2015 г.» В Лекции 7 профессор разбирает, как создать Popover в виде маленького «всплывающего» окошка как на iPad (что получается по умолчанию), так и на iPhone ( в методе делегата нужно сказать «НЕТ» адаптации).
Но в iOS 8.3 все нарушается:
- на iPhone Popover окошки появляются ввиде модального окна на весь экран, с которого не знаешь как уйти,
- а на iPhone 6 Plus в ландшафтном режиме (который должен работать как на iPad по умолчанию) вообще окно отображается модально как FormSheet, и с него также невозможно никуда уйти.
Попробуем разобраться в чем тут дело, и как это можно исправить.
Стилизация iOS-приложений: как мы натягиваем шрифты, цвета и изображения
2015-04-10 в 12:36, admin, рубрики: interface builder, iOS, ios development, iOS разработка, mobile development, objective-c, xcode, Блог компании REDMADROBOT, разработка под iOS, цветаВ ходе работы над мобильным приложением разработчики получают от дизайнеров макеты, шрифты и изображения. Преобразование этих материалов в код — нудное занятие, да и в процессе каждый норовит изобрести свой велосипед. Чтобы проекты оставались чистыми, мы приняли единую конвенцию по работе со стилями.
Читать полностью »
Облегчаем поддержку iOS приложения. Часть 2 — локация и сеть
2015-04-03 в 23:55, admin, рубрики: iOS, xcode, отладка, разработка под iOSДобрый день, хаброжители,
Статьи посвящены тому, как я справляюсь с поддержкой приложений, которые прошли не через одну версии, писались в разное время и разными людьми. Надеюсь, они помогут и другим iOS разработчикам.
- Облегчаем поддержку iOS приложения. Часть 1 — не отрываясь от Xcode
- Облегчаем поддержку iOS приложения. Часть 2 — локация и сеть
- Облегчаем поддержку iOS приложения. Часть 3 — падение и логи
В первой статье я поделился своим опытом работы с трудно воспроизводимыми багами. В этой статье я расскажу, как можно поступить с багами, которые связаны с сетью или локацией. Тех, кого интересует эта тема, прошу под кат.
Читать полностью »