Попробуйте использовать настраиваемую замену UISwitch с открытым исходным кодом.
Это выглядит довольно неплохо: DCRoundSwitch на GitHub , но на GitHub есть много других, если этот не работает.
Этот тип подхода не имеет таких проблем несовместимости, потому что он реализует функциональность коммутатора и сам отрисовку и опирается только на базовую функциональность базового класса UIControl. Единственное, что вам может понадобиться время от времени обновлять, - это используемая вами библиотека (DCRoundSwitch), однако базовые функции, такие как UIControl и Quartz Drawing, достаточно устоялись и меняются редко, поэтому их можно смело считать редким и минимальным фактором риска .