UIButton'un başlık metin rengi nasıl ayarlanır?


124

Bir düğme için metnin renklerini değiştirmeyi denedim, ancak yine de beyaz kalıyor.

isbeauty = UIButton()
isbeauty.setTitle("Buy", forState: UIControlState.Normal)
isbeauty.titleLabel?.textColor = UIColorFromRGB("F21B3F")
isbeauty.titleLabel!.font = UIFont(name: "AppleSDGothicNeo-Thin" , size: 25)
isbeauty.backgroundColor = UIColor.clearColor()
isbeauty.layer.cornerRadius = 5
isbeauty.layer.borderWidth = 1
isbeauty.layer.borderColor = UIColorFromRGB("F21B3F").CGColor
isbeauty.frame = CGRectMake(300, 134, 55, 26)
isbeauty.addTarget(self,action: "first:", forControlEvents: UIControlEvents.TouchUpInside)
self.view.addSubview(isbeauty)

Kırmızı, siyah, mavi olarak değiştirmeyi de denedim ama hiçbir şey olmuyor.

Yanıtlar:


282

func setTitleColor(_ color: UIColor?, for state: UIControlState)Gerçek başlık metnini ayarladığınız şekilde kullanmanız gerekir . Dokümanlar

isbeauty.setTitleColor(UIColorFromRGB("F21B3F"), for: .normal)

okunabilirlik uğruna numaralarımı nitelememeyi tercih ederim, ama bu sadece benim
styler1972

@ styler1972 Ben de bunu tercih ediyorum - görünüşe göre cevabı ilk yazdığımda bunun farkında değildim
luk2302

1
isbeauty.setTitleColor (UIColorFromRGB (rgbValue: "F21B3F"), for: .Normal)
Arunabh Das

3
Xcode 9 itibariyle artık ".Normal" yerine ".normal" olduğuna inanıyorum
Buddhisthead

4
benim kodum: yourButtonName.setTitleColor (UIColor.red, for: .normal)
devgrg

111

Swift UI çözümü

Button(action: {}) {
            Text("Button")
        }.foregroundColor(Color(red: 1.0, green: 0.0, blue: 0.0))

Hızlı 3, Hızlı 4, Hızlı 5

yorumları iyileştirmek için. Bu çalışmalı:

button.setTitleColor(.red, for: .normal)

10

Düğme başlığı rengini ayarlama örneği

btnDone.setTitleColor(.black, for: .normal)

8
Benim cevabımla seninki arasındaki fark nedir?
Vyacheslav

3

Bu hızlı 5 uyumlu cevaptır. Yerleşik renklerden birini kullanmak istiyorsanız, basitçe kullanabilirsiniz.

button.setTitleColor(.red, for: .normal)

Bazı özel renkler istiyorsanız, önce aşağıdaki gibi bir UIColor için bir uzantı oluşturun.

import UIKit
extension UIColor {
    static var themeMoreButton = UIColor.init(red: 53/255, green: 150/255, blue: 36/255, alpha: 1)
}

Ardından aşağıdaki gibi düğmeniz için kullanın.

button.setTitleColor(UIColor.themeMoreButton, for: .normal)

İpucu: Bu yöntemi, rgba renk kodundan özel renkleri depolamak ve uygulamanızın tamamında yeniden kullanmak için kullanabilirsiniz.


2
func setTitleColor(_ color: UIColor?, 
               for state: UIControl.State)

Parametreler :

renk:
Belirtilen durum için kullanılacak başlığın rengi.

durum:
Belirtilen rengi kullanan durum. Olası değerler UIControl.State'de açıklanmıştır.

Örnek :

let MyButton = UIButton()
MyButton.setTitle("Click Me..!", for: .normal)
MyButton.setTitleColor(.green, for: .normal)

0

radyo düğmelerine atıfta bulunarak, bunu Segmentli Kontrol ile aşağıdaki gibi yapabilirsiniz:

1. adım: bölümlere ayrılmış bir denetimi öznitelik denetçisindeki görünümünüze sürükleyin, iki bölümün başlığını değiştirin, örneğin "Erkek" ve "Kadın"

2. adım: kodda bir çıkış ve bunun için bir eylem oluşturun

3. adım: seçimin verilerini içermek üzere ileride kullanmak üzere bir değişken oluşturun

kodda aşağıdakileri yapın:

@IBOutlet weak var genderSeg: UISegmentedControl!

var genderPick : String = ""


 @IBAction func segAction(_ sender: Any) {

    if genderSeg.selectedSegmentIndex == 0 {
         genderPick = "Male"
        print(genderPick)
    } else if genderSeg.selectedSegmentIndex == 1 {
        genderPick = "Female"
          print(genderPick)
    }
}
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.