В вашей функции просто выключите переключатель этого и второго контроллера, в котором вы перемещаетесь.
@IBAction func switchToCitiPost (switchState: UISwitch){
if citiPostSwitch.isOn {
citiPostSwitch.setOn(false, animated: true)
let vc = SecondViewController()
vc.switch.setOn(false, animated: true)
self.navigationController?.pushViewController(vc, animated: true)
}
}
Когда вы придете к контроллеру, вы выключите его.
class SecondViewController: UIViewController {
@IBOutlet weak var `switch`: UISwitch!
override func viewDidLoad() {
super.viewDidLoad()
self.switch.addTarget(self, action: #selector(self.switchAction(_:)), for: .valueChanged)
}
@objc func switchAction(_ switchState: UISwitch) {
self.navigationController?.popViewController(animated: true)
}
}
В SecondView Controller при переключении просто отключите или выдвиньте из контроллера.
Надеюсь, это поможет