CAShapeLayer в Интерфейсном Разработчике?

Я создаю собственную клавиатуру.

Вариант А - Создание графики для ключей, поддерживающих все платформы. Создайте отдельную графику для ландшафтного режима и поменяйте ее местами при повороте клавиатуры.

Я бы предпочел не создавать графику.

Вариант B - Создайте собственный класс UIView, который использует CAShapeLayer для создания клавиш и соответственно изменяет размер при повороте клавиатуры.

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

Имеет ли смысл размещать пользовательские представления в Интерфейсном Разработчике, настраивать их соответствующим образом, и просто чтобы мой слой формы соответствовал границам представления?

Или есть лучший способ?

1 ответ

Решение

Я бы построил две XIB - одну для Пейзажа, одну для Портрета и поменял их местами при вращении.

Учитывая, что на iPhone6 ​​мы можем видеть или не видеть размеры экрана разных размеров, я в конечном итоге выберу вариант B, напишу код один раз и буду рад, что iPhone6 ​​будет готов в первый день.

Другие вопросы по тегам