TGViewer
iOS Dev iOS Dev @iosdev · 7.91K subscribers
Post #672 3.49K
Я всё-таки принял участие в конкурсе Telegram, но к сожалению, остался за чертой призёров. Ниже мои мысли по поводу конкурса.

Часть первая или что сделано


Реализовал расчёт контрольных точек в фоновом режиме для плавных скруглений и собственно расчёта скорости (ширины линии).

Собственный colorpicker (с цветами, кастомными слайдерами и так далее). Плюс магнифаер (когда увеличиваем объект под пальцем, условно, и выбираем оттуда цвет).

Карандаш сделан с помощью текстуры и cashapelayer, по факту это маска, которой происходит отрисовка.

Есть размытие, при этом не смешное для последнего слоя, а для всех в стэке. И очистка тоже.

Реализовал текстовый редактор с помощью catextlayer и кучи сложных моментов (как мне показалось). Типа отрисовка переходов между строками и скруглений (layoutmanager и кто с ним работал, поймёт о чём речь).

Адски страдал над анимацией карандашей и таймингов (ну чтобы они все нормально скрывались и увеличивался выбранный). Ах да, там же ещё ширина выбранного инструмента (толщина)... Это дополнительный элемент на объекте карандаша, ну и очень много всяких мелочей чисто по анимациям.

Undo manager можно было пилить с помощью системного, но я бы по времени не уложился. Поэтому по факту добавляется/удаляется последний слой (и всё на слоях).

Запилил сохранение изменений и с видео тоже. Думаю, жюри даже не посмотрело (но кто знает).

Ну и множество всего, кроме этого.

Часть вторая, что сказали жюри

Конкурсное задание не выполнено, работа над приложением не окончена.

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

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

Часть третья, что думаю я

Работ было очень много, срезали, если линия не рисуется мгновенно.

Финал.

Конечно, я немного разочарован таким итогом. Но в целом опыта у меня прибавилось, и когда-нибудь, надеюсь, мне всё это пригодится.
  • 🔥 91
  • 👍 16
  • ❤‍🔥 9
  • ❤ 4
  • ⚡ 1
More from @iosdev
  1. Oct 5, 2026iPhone Duo UIKit Q&A: большая подборка ответов от инженеров Apple 📖 В своём блоге Антон с…
  2. Oct 1, 2026SwiftUI Charts и динамическое маскирование Одним из применений для диаграмм является разны…
  3. Sep 29, 2026⚡️Сегодня ночью десятки тысяч приложений массово начали крашиться из-за либы для аналитики…
  4. Sep 28, 2026От pbxproj к xcproj: разбор конфигураций проекта 📖 В этой статье можно посмотреть на новы…
  5. Sep 25, 2026Симулятор iPhone Duo: тестирование и оптимизация приложения Как только был анонсирован iPh…
  6. Sep 24, 2026Настоящая причина, почему на презентации не показали, как выглядит звонок с iPhone Duo. 😃…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →