almost fixed UISwitch solution