Closed alexfilimon closed 3 years ago
@chausovSurfStudio codebeat оч странные дела подсвечивает - увеличилась длинна функций и слишком много аргументов (аж целых 4). Не согласен с этими придирками
эх, все никак не дойду до этого ПРа... насчет того что не собралось - codebeat ругается, но я на него тоже внимания не обращаю зачастую а вот недавно подключенный codacy упал, и судя по картинке - ему там не понравилось форматирование))
Что сделано:
animated
для вызоваreset
/setup
FloatingPlaceholderService
сделал черезCAAnimationGroup
На что обратить внимание:
updateUI
с флагомanimated
- точно ли там где это вызывается с true/false уместноCATextLayer
плохо изменяет свои значения, если это делать не черезCAAnimationGroup
(напрямую) - а точнее он все равно вставляет implicit анимации. Пофиксить это так и не смог. Грешу на то, что сам этот класс багованный. Поэтому сделал обновление свойств без анимации так же с помощьюCAAnimationGroup
, но с очень маленькой длительностью. Надеюсь это в будущем не стрельнет (советую почитать http://ronnqvi.st/multiple-animations)Как протестировать:
FieldExampleViewController
можно в методеtapOnResetButton
поиграться с методамиКак работает:
Reset без анимации:
Reset с анимацией:
Setup без анимации:
Setup с анимацией:
Найденный баг:
Нашел баг со стейтами. Как воспроизвести:
setup(text:)
Не уверен, что это баг. Возможно для борьбы с этим стоит вызвать
setup(text: "", validate: false)
, но выглядит странно - получается при вызовеsetup(text:)
надо думать валидировать или нет. Хотелось бы чтобы это обрабатывалось автоматом.