Swift Xcode 6'da düğme metni nasıl değiştirilir?


122

İşte yapmaya çalıştığım şey. Daha önce Halo veya CoD oynadıysanız, bir silah yüklemesinin adını değiştirebileceğinizi bilirsiniz.

Yaptığım şey, bir metin alanı kullanarak yükleme adınızı değiştirebilmeniz için bunu yapmak. İşte sorun şu, yükleme menüsündeki yükleme adı bir düğmedir (bu yükleme hakkındaki bilgileri seçmek ve görüntülemek için) ve şunu yazabilirim:

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

Bunun dışında [classTopButton], '.text' sonekine izin vermeyen bir düğmedir

Yanıtlar:


322

Yapabilirsin:

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

Swift 3 ve 4:

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

14
Veya biraz daha kısa. Bir UIControlStatekısmını atlayabilir ve şöyle yazabilirsiniz button.setTitle("my text here", forState: .Normal).
mustafa

3
: Ben söz olur düşünmek buttonbir IBOutlet(aksine IBActionbu kod satırını içerir) Eğer film şeridini yararlanarak eğer.
Sergi

23

Xcode 8 - Swift 3'te :

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


3
İkinci argüman şimdi .normalyerine .Normal.
Ted Hopp

1
Sermaye .Normalşimdi bir hata verecek. Küçük harf artık doğru. .normal
Joshua Dans

Orijinal cevabın şu olduğunu söylemeliyim: button.setTitle ("entertext", için: .Normal) ve hızlı 3.0 desteği ile Xcode'un ilk sürümü için çalışan bir varyant
Nikola Lukic

7

Şimdi bu Hızlı 3 için,

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

(Değişkenin sabit bildirimi gerekli değildir, sadece düğmeden göndereni şu şekilde kullandığınızdan emin olun):

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

Bunun düğmenizin IBAction içinde kullanıldığını unutmayın.


3

Gönderen argümanını kullanabilirsiniz

  @IBAction func TickToeButtonClick(sender: AnyObject) {

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


}

Bu hızlı 3,0 desteği ile Xcode ilk sürümü için varyantı çalışıyor sonra .Normal .normal olur
Nikola Lukiç

2

swift 4 hem iş hem de 3

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

liberonun bir uibutton olduğu yer


2

NOT:

hat

someButton.setTitle("New Title", forState: .normal)

yalnızca Başlık türü Düz olduğunda çalışır .

görüntü açıklamasını buraya girin


1

NSButton kullanıyorsanız setTitlebunun yerine işlev olmadığını , bunun bir özellik olduğunu unutmayın.

@IBOutlet weak var classToButton: NSButton!

. . .


classToButton.title = "Some Text"

1

Swift 4'te bunların hepsini daha önce denedim, ancak yalnızca şu şekilde çalışır:

@IBAction func myButton(sender: AnyObject) {
   sender.setTitle("This is example text one", for:[])
   sender.setTitle("This is example text two", for: .normal)
}
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.