Индивидуальный дизайн UISwitch - PullRequest
0 голосов
/ 09 июля 2020

Я хочу создать дизайн для Switch, как на изображении ниже. Можно ли изменить UISwitch? или мне нужно использовать другой способ.

введите описание изображения здесь

1 Ответ

0 голосов
/ 09 июля 2020

Возможно ли изменить UISwitch?

В iOS 6 и ранее вы могли установить свойства onImage и offImage. Но поскольку сейчас мы работаем с iOS 13, это решение давно перестало работать a go.

Я хочу создать дизайн для Switch, как на изображении ниже.

Переключатель - это просто элемент управления с двумя состояниями ... Сворачивание собственного должно быть прямым делом создания подкласса UIControl. См. Раздел Subclassing документации UIControl для получения информации о методах, которые необходимо переопределить, чтобы ваш коммутатор работал как элемент управления.

Ваш коммутатор может быть таким же просто как представление, которое может рисовать себя в любом из двух состояний, поэтому для начала вы можете создать представление, которое имеет два изображения и dr aws подходящее в зависимости от его состояния. Но UISwitch анимирует переход между двумя состояниями, и есть много тонкостей, которые вы могли не заметить. Чтобы ваш коммутатор выглядел так же хорошо или почти так же хорошо, потребуется больше усилий. Посмотрите, как изменяется цвет фона при включении и выключении UISwitch, и обратите внимание, что на устройствах, поддерживающих обратную связь hapti c, устройство выдает импульс при изменении состояния переключателя.

Для вашего настраиваемого переключателя вы, вероятно, захотите использовать Core Animation, чтобы переместить представление или слой, представляющий ползунок переключателя, на фон, на котором есть значки, представляющие два состояния. CALayer имеет ряд функций, которые могут быть полезны.

...