2016-03-07 4 views
3

Мой вопрос в том, как изменить заголовок UIButton с другим заголовком UIButton. У меня есть три кнопки, и я хочу обмениваться названиями для кнопок 1 и 3 друг с другом, когда я нажимаю кнопку 2.изменить текст UIButton с другим текстом UIButton (swift)

Посмотрите на это изображение, и вы поймете.

как я могу это сделать?

Image

+0

вы можете показать свой код –

+0

Почему вы просто не объявить переменную сохранить, а затем изменить текст? – Lee

+0

@EICaptain NO Я не знаю, как это сделать –

ответ

3

Я думаю, что это очень просто.

Просто сохраните один из текста с помощью кнопки в строке и замените его, нажав на кнопку.

let title1 = btn1.titleLabel!.text 

btn1.setTitle(btn2.titleLabel!.text, forState: UIControlState.Normal) 
btn2.setTitle(title1, forState: UIControlState.Normal) 

enter image description here

Учиться и применять код! Надеюсь, он вам поможет.

+0

и что, если я нажму кнопку 2 еще раз? ничего не произойдет –

+0

@ J.S.O вы должны рассмотреть кнопку переключения в качестве третьей кнопки. вы должны понимать код. –

+0

извините, я не понимаю –

1

Попробуйте

let title1 = button1.currentTitle! 
button1.setTitle(button3.currentTitle!, forState: .Normal) 
button3.setTitle(title1, forState: .Normal) 
+0

, и что, если я нажму кнопку 2 еще раз? ничего не произойдет –

+0

все равно переключит заголовки. – mohonish

+0

Спасибо, сейчас работа! –

1

Попробуйте использовать ниже фрагмент кода, вы измените/тумблер button1 и название Button3 на щелчку button2. (Что бы название у них есть)

@IBAction func btn2Tapped(btn2 : UIButton) 
{ 
    var strBtnTittle : String! 

    if (btn2.selected) 
    { 
     btn2.selected=false 
     strBtnTittle = btn1.titleLabel?.text 
     btn1.setTitle(btn3.titleLabel?.text, forState: .Normal) 
     btn3.setTitle(strBtnTittle, forState: .Normal) 

    } 
    else 
    { 
     btn2.selected=true 
     strBtnTittle = btn3.titleLabel?.text 
     btn3.setTitle(btn1.titleLabel?.text, forState: .Normal) 
     btn1.setTitle(strBtnTittle, forState: .Normal) 
    } 
} 
Смежные вопросы