Respostas:
Em Swift 3, 4, 5:
button.setTitle("Button Title", for: .normal)
De outra forma:
button.setTitle("Button Title", forState: UIControlState.Normal)
Também @IBOutlet
é necessário declarar para o arquivo button
.
.normal
observar o caso mais baixo
forState
parafor
button.setTitle("Button Title",for: .normal)
trabalha !, graças
Apenas um esclarecimento para os novos no Swift e iOS . Abaixo da linha de código:
button.setTitle("myTitle", forState: UIControlState.Normal)
aplica-se apenas a IBOutlets
, não IBActions
.
Portanto, se seu aplicativo estiver usando um botão como uma função para executar algum código, por exemplo, tocando música e você desejar alterar o título de Play
para com Pause
base em uma variável de alternância, você também precisará criar um IBOutlet
para esse botão.
Se você tentar usar button.setTitle
um contra IBAction
, receberá um erro. É óbvio quando você o conhece, mas para os noobs (todos nós éramos), essa é uma dica útil.
sender
ação será o botão. Você pode aplicar o que quiser ao sender
. Você não precisa de uma tomada para fazer isso.
let controlStates: Array<UIControl.State> = [.normal, .highlighted, .disabled, .selected, .focused, .application, .reserved]
for controlState in controlStates {
button.setTitle(NSLocalizedString("Title", comment: ""), for: controlState)
}
Swift 3:
Definir o título do botão:
//for normal state:
my_btn.setTitle("Button Title", for: .normal)
// For highlighted state:
my_btn.setTitle("Button Title2", for: .highlighted)
Swift 5.0
// Standard State
myButton.setTitle("Title", for: .normal)
Alterar o título quando atribuído é um pouco diferente:
Acabei de encontrar um problema: Se você possui um UIButton com um Título atribuído, deve usar:
my_btn.setAttributedTitle(NSAttributedString(string: my_title), for: my_state)
conforme Apple SetTitle Doc :
Se você definir um título e um título atribuído para o botão, o botão prefere o uso do título atribuído sobre este.
Eu tinha um título atribuído e tentei definir o título, sem nenhum efeito ...
Swift 3
Quando você cria a @IBAction:
@IBAction func btnAction(_ sender: UIButton) {
sender.setTitle("string goes here", for: .normal)
}
Isso define o remetente como UIButton (em vez de Qualquer), para atingir o btnAction como UIButton
Para definir um título para um botão no Xcode usando o swift - 04: primeiro crie um método chamado setTitle com o título do parâmetro e o estado UIController como abaixo;
func setTitle(_ title : String?, for state : UIControl.State) {
}
e lembre-se deste método no seu método de ação de botão como;
yourButtonName.setTitle("String", for: .state)
UIControlState
. por exemplo,forState: .Normal