Відповіді:
У Swift 3, 4, 5:
button.setTitle("Button Title", for: .normal)
Інакше:
button.setTitle("Button Title", forState: UIControlState.Normal)
Також є @IBOutletзадекларований для button.
.normalвідзначила нижню букву
forStateнаfor
button.setTitle("Button Title",for: .normal)працює !, дякую
Просто роз'яснення для тих, хто не знайомий із програмою Swift та iOS . Нижній рядок коду:
button.setTitle("myTitle", forState: UIControlState.Normal)
стосується лише IBOutlets, не IBActions.
Отже, якщо ваш додаток використовує кнопку як функцію для виконання якогось коду, скажімо відтворення музики, і ви хочете змінити заголовок Playна Pauseна основі змінної перемикання, вам також потрібно створити IBOutletдля цієї кнопки.
Якщо ви спробуєте використати button.setTitleпроти, IBActionви отримаєте помилку. Це очевидно, як тільки ви це знаєте, але для ноубів (ми всі були) це корисна порада.
senderДії буде кнопка. Ви можете застосувати все, що завгодно sender. Для цього вам не потрібна розетка.
let controlStates: Array<UIControl.State> = [.normal, .highlighted, .disabled, .selected, .focused, .application, .reserved]
for controlState in controlStates {
button.setTitle(NSLocalizedString("Title", comment: ""), for: controlState)
}
Швидкий 3:
Встановити назву кнопки:
//for normal state:
my_btn.setTitle("Button Title", for: .normal)
// For highlighted state:
my_btn.setTitle("Button Title2", for: .highlighted)
Швидкий 5.0
// Standard State
myButton.setTitle("Title", for: .normal)
Зміна назви при приписуванні дещо відрізняється:
Щойно я зіткнувся з проблемою: якщо у вас є UIButton з атрибутивним заголовком, ви повинні використовувати:
my_btn.setAttributedTitle(NSAttributedString(string: my_title), for: my_state)
відповідно до документа Apple SetTitle :
Якщо для кнопки встановлено як заголовок, так і атрибутивний заголовок, кнопка вважає за краще використання атрибутивного заголовка над цією.
У мене був приписуваний заголовок, і я намагався встановити на нього титл, без ефекту ...
Швидкий 3
Коли ви робите @IBAction:
@IBAction func btnAction(_ sender: UIButton) {
sender.setTitle("string goes here", for: .normal)
}
Це встановлює відправника як UIButton (замість Any), тому він орієнтується на btnAction як UIButton
Щоб встановити заголовок для кнопки в Xcode за допомогою swift - 04: спочатку створіть метод під назвою setTitle із заголовком параметра та станом UIController, як показано нижче;
func setTitle(_ title : String?, for state : UIControl.State) {
}
і пригадайте цей метод у своєму методі дії кнопки типу;
yourButtonName.setTitle("String", for: .state)
UIControlState. наприкладforState: .Normal