2014-10-29 5 views
78

Вот что я пытаюсь сделать. Если вы когда-либо играли в Halo или CoD, вы бы знали, что можете изменить название загрузки оружия.Как изменить текст кнопки в Swift Xcode 6?

Что я делаю, это сделать так, чтобы вы могли изменить свое имя загрузки с помощью текстового поля. Вот проблема, имя нагрузки в меню разгрузочной кнопка (для выбора и просмотра информации об этом разгрузочном), и я мог бы просто написать это:

@IBAction func renameClassButton(sender: AnyObject) { 
    classTopButton.text = "\(classTopTextField)" 
} 

Кроме этого [classTopButton] является кнопка, которая не допускает суффикс '.text'

ответ

205

Вы можете сделать:

button.setTitle("my text here", forState: .Normal) 

Swift 3:

button.setTitle("my text here", for: .normal) 
+14

Или немного короче. Вы можете опустить часть 'UIControlState' и просто написать как' button.setTitle («мой текст здесь», forState: .Normal). – mustafa

+2

Я думаю, это помогает упомянуть: 'button' является' IBOutlet' (в отличие от 'IBAction', который содержит эту строку кода), если вы используете Storyboard. – whalesharkie

15

В Xcode 8 - Swift 3:

button.setTitle("entertext" , for: .normal)

+1

Второй аргумент теперь '.normal' вместо' .Normal'. –

+0

Ошибка «Капитал» .Normal'. Подменю теперь корректно. '.normal' –

0

Вы можете использовать отправителем аргумент

@IBAction func TickToeButtonClick(sender: AnyObject) { 

     sender.setTitle("my text here", forState: .Normal) 


} 
0

Обратите внимание, что если вы используете NSButton нет setTitle FUNC, вместо этого, это свойство ,

@IBOutlet weak var classToButton: NSButton! 

. . . 


classToButton.title = "Some Text" 
5

Теперь это Для быстрой 3,

let button = (sender as AnyObject) 
    button.setTitle("Your text", for: .normal) 

(Постоянная декларация переменной не нужно просто убедитесь, что вы используете отправителя от кнопки, как это):

(sender as AnyObject).setTitle("Your text", for: .normal) 

Помните, что это используется внутри IBAction вашей кнопки.

0

быстры 4 работы, а также 3

libero.setTitle("---", for: .normal) 

где либеро является UIButton

0

В Swift 4 я попытался все это раньше, но работает только:

@IBAction func myButton(sender: AnyObject) { 
    sender.setTitle("This is example text one", for:[]) 
    sender.setTitle("This is example text two", for: .normal) 
} 
Смежные вопросы