2016-05-17 5 views
0

У меня есть UISwitch на контроллере моего представления, и у меня есть это, поэтому, когда я переключаю его, текст кнопки изменяется. в первый раз, когда я переключаю его и на нем не работает, но если вы попробуете его во второй раз, это сработает ... есть ли что-то, что мне не хватает в моем коде?Swift UISwitch не работает в первый раз

 UISwitchOutlet.addTarget(self, action: #selector(MainPageViewController.switchChanged(_:)), forControlEvents: UIControlEvents.ValueChanged) 


func switchChanged(mySwitch: UISwitch) { 
    let value = UISwitchOutlet.on 
    if value { 
     self.enterRoom.titleLabel?.text = "Enter Room" 
    } else { 
     self.enterRoom.titleLabel?.textAlignment = NSTextAlignment.Center 
     self.enterRoom.titleLabel?.text = "Create" 


    } 
} 
+0

определение 'let value = UISwitchOutlet.on' перед' if value {'условный смысл. он никогда не перейдет к опции else. Удалите первую строку и измените вторую на 'if mySwitch.on {' –

+0

. О, моя ошибка. Я думал, что мне нужно сначала установить значение по умолчанию. – RubberDucky4444

+0

просто добавить в viewDidLoad 'UISwitchOutlet.on = true' –

ответ

1

Попробуйте ниже. Ваше значение всегда будет включено, потому что вы устанавливаете состояние включения.

func switchChanged(mySwitch: UISwitch) { 
    if mySwitch.isOn { 
     self.enterRoom.titleLabel?.text = "Enter Room" 
    } else { 
     self.enterRoom.titleLabel?.textAlignment = NSTextAlignment.Center 
     self.enterRoom.titleLabel?.text = "Create" 
    } 
} 
Смежные вопросы