/
githubmirror
/
omim
Обзор
Документация
Войти
/
githubmirror
/
omim
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
iphone/Maps/UI/Settings/Cells/SettingsTableViewSwitchCell.swift
55 строк
1 KB
Alexander Boriskov
[iOS] Refactored old styles
12 фев 2020, 14:37
12 фев 2020, 14:37
91d7242
Код
Авторство
О чём код?
@objc protocol SettingsTableViewSwitchCellDelegate { func switchCell(_ cell: SettingsTableViewSwitchCell, didChangeValue value: Bool) } @objc final class SettingsTableViewSwitchCell: MWMTableViewCell { @IBOutlet fileprivate weak var title: UILabel! @IBOutlet fileprivate weak var switchButton: UISwitch! { didSet { switchButton.addTarget(self, action: #selector(switchChanged), for: .valueChanged) } } @IBOutlet weak var delegate: SettingsTableViewSwitchCellDelegate? @objc var isEnabled = true { didSet { styleTitle() switchButton.isUserInteractionEnabled = isEnabled } } @objc var isOn: Bool { get { return switchButton.isOn } set { switchButton.isOn = newValue } } override func awakeFromNib() { super.awakeFromNib() styleTitle() } @objc func config(delegate: SettingsTableViewSwitchCellDelegate, title: String, isOn: Bool) { backgroundColor = UIColor.white() self.delegate = delegate self.title.text = title styleTitle() switchButton.isOn = isOn } @IBAction fileprivate func switchChanged() { delegate?.switchCell(self, didChangeValue: switchButton.isOn) } fileprivate func styleTitle() { let style = "regular17:" + (isEnabled ? "blackPrimaryText" : "blackSecondaryText") title.setStyleAndApply(style) } }