Как стать автором
Обновить
6
0
Иван Воробей @ivanvorobei

iOS разработчик, директор Sparrow Code LTD

Отправить сообщение
Все никак не могу забыть UIKit)
Поправил, спасибо)
Дизайн взял у этого парня, он умеет делать эффектные вещи

Это не перевод его туториала. Взял диз и анимации — повторил — написал туториал.


Не указываю источник потому что ссылка на ресурсы, где можно что-то купить, переводит статью в «Я пиарюсь» и исключает из всех хабов.

Хороший альтернативный вариант работы с индексами, спасибо за статью
Попробую привести аргументы.

  • Любая настройка стиля, вынесенная за пределы контролера (будь то большой / маленький навигейшн, заголовок и т.д.) обязательно должна вылиться в Switch-Сase или тому подобное. Не важно где, но Вы предлагаете проверять какой класс сейчас покажется и в зависимости от этого менять прааметры. Я вижу это неудобным — эти параметры связаны с самим контроллером.
  • Само наличие проперти навигейшн бара. К слову, опциональное. Нет никакой проблемы обратиться к опциональному проперти.
  • В примерах от Apple найдете работу именно через чилда.
  • Ваша метаформа с хвостом собаки некорректная, и сбивает. Во первых, она не учитывает опциональность. Второе и важное — чилдов много. У собаки много хвостов не бывает)


Как я понял, единственной мотивацией вынести найстройку навигейшн бара для конкретного контроллера из этого контроллера — Ваша метафора. Подумайте о следующих моментах:

  • У вас появляется отдельное место для настройки бара. Зачем? Макконел не одобрит.
  • Вы напишите больше кода
  • Работать будет не лучше. Читать код будет сложнее в силу его разрозненности


И это все ради метафоры, которая вообще не подходит к этому случаю.
Я устал повторять — конкретно этот пример, конечно, лучше было сделать в констрейнтах. Я показал альтернативнвый способ. Мне часто приходится делать сложные лейауты, и поддержку два ориентаций. И не просто растягивать интерфейс, а именно менять расположение элементов. И, очевидно, сложные лейауты быстрее делаются при помощи фреймов.

Эту систему я показал в образовательных целях, конечно для примера она излишняя (очевидно что изляшняя).

Насчёт вызывать в разных местах — да, не вижу проблемы. Если вспомнить что ‘SadeAreaDidChange’ тоже провоцирует изменение лейаута, то нужно и там. Всего 3 места для вызова функции, но в итоге плавный лейаут при Семёне ориентации и больше возможностей кастомизации.

Обсуждение на самом деле ни о чем. Я согласен что констрейнты здесь уместны, и несколько раз сказал что альтернативный метод до ознакомительных целей. У какого опытного разработчика могла появится мысль что в этот примере такой способ уместен, не понимаю.

Я все равно из ответа не понял как правильно установить разные стили для навигейшн бара православно)


Давайте возьмём ситуацию. У меня один навигейшн контроллер, и через него я показываю… пускай 15 контроллеров. У 7-ми из них большой и модный новый заголовок, у 8-ми — классический маленький.


Как стоит правильно сделать это?

В этом случае сработает метод viewWillTransition. Не понимаю причин спора. Вы можете придумать случай когда рут-контроллер не на весь экран?

Если не сложно, поясните.


Настройка бара мне кажется вполне логичной. Особенно учитывая что бар подразумевает разные состояния и заголовки в зависимости от этого чилда.

Конкретно для одной таблицы — смысла нет, даже плохо (об этом есть и в видео, и в тексте).


Показал в ознакомительных целях

Этот метод будет лейаутить без анимации. Правильнее через координатор.


Во viewDidLoad вполне можно, попробуй. SafeArea не выставлены, но размеры view контроллера уже корректные.

Была похожая проблема)
Вы недооцениваете PaintCode.

При сохранении слоями вы получите следующие проблемы:
  • Для послойных UIImageView, нужно написать больше строк кода.
  • Про PNG и другие растровые не буду писать, заочно проигрывают. Но даже если будете использовать PDF, в некоторых ситуациях можно получить неприятные фризы от ресайзинга — если размер файла будет слишком расходится с использованным frame. К слову, с tintColor на практике тоже не все гладко.
  • Не получится использовать градиенты

Вы можете предположить что при послойном варианте сэкономим время. Давайте прикинем:

При послойном: Сортируем по слоям, нейминг каждого слоя. Для каждого UIImageView выставить RenderingMode и Layout (Constraints или LayoutSubviews — не важно, строк кода добавляется). Для 3 цветов строк кода будет минимум 14.
Если PaintCode: Импортируем иконку, экспортируем StyleKit. В Xcode создаем класс на 5 строк кода.

Повторное использование файлов PaintCode в других проектах будет проще.

Если честно, в использовании PaintCode я вижу исключительно плюсы. По моему скромному мнению PaintCode выигрывает у послойных UIImageView.

P.S. Я посмею предположить что сначала вы минусанули статью, а после изменили мнение и поставили +
Но в общем и целом PaintCode классная штука — да.
— ещё больше ввело в заблуждение относительно шутки. Так вы считаете PaintCode костылём или нет?
Предложите свое решение?
Нет. А вот файл, который cгенерировал PaintCode, по сути рисует кодом

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


Видео не доказывает. Обычная ситуация — реджект, я им пишу «ну вы че, норм же прила» и через 15 апрув. Все сталкивались, все знают. (Ирония над вашим скепсисом)


Насчёт казино чушь — зачем им такие приложения, когда официальное казино с юр.аккаунта спокойно апрувят? А вот для разраба, который толкает рефералку, 1000$ за апрув вполне деньги.


Интересно откуда вы знаете сколько зарабатывает казино.

Ладно время, от реджекта до апрува (вдруг апрув) 15 минут

Любое нарушение гайдлайнов тема стременная. Это приведено для того, чтобы быть объективным — не все нарушения в сторе результат подкупленного ревьюера, можно и придумать что-то

Да, отдельные плееры музыки вк до сих пор живы. Не могу ручаться что подкупили, но вероятно. У друга приложения для скачивания из инстаграм — живет прекрасно, с покупками)


Как вы правильно подметили, люди любят деньги.

Я считаю что наличия приложений ставок-на-спорт уже пруф. Но ваш скепсис мне понятен

Информация

В рейтинге
Не участвует
Откуда
Минск, Минская обл., Беларусь
Дата рождения
Зарегистрирован
Активность