Home » Ios » How to change button text in Swift Xcode 6?

How to change button text in Swift Xcode 6?

Posted by: admin November 30, 2017 Leave a comment

Questions:

Here’s what I’m trying to do. If you’ve ever played Halo or CoD, you’d know that you could change the name of a weapon load-out.

What I’m doing is making it so you can change your load-out name using a text field. Here’s the problem, the load-out name in the load-out menu is a button (to select and view info about that load-out) and I could just write this:

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

Except it [classTopButton] is a button which doesn’t allow the ‘.text’ suffix

Answers:

You can do:

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

Swift 3:

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

Questions:
Answers:

In Xcode 8 – Swift 3:

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

Questions:
Answers:

It is now this For swift 3,

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

(The constant declaration of the variable is not necessary just make sure you use the sender from the button like this) :

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

Remember this is used inside the IBAction of your button.

Questions:
Answers:

You can Use sender argument

  @IBAction func TickToeButtonClick(sender: AnyObject) {

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


}

Questions:
Answers:

Note that if you’re using NSButton there is no setTitle func, instead, it’s a property.

@IBOutlet weak var classToButton: NSButton!

. . .


classToButton.title = "Some Text"

Questions:
Answers:

swift 4 work as well as 3

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

where libero is a uibutton