Ответ 1
Вы должны использовать func setTitleColor(_ color: UIColor?, forState state: UIControlState)
так же, как вы устанавливаете фактический текст заголовка. Документы
isbeauty.setTitleColor(UIColorFromRGB("F21B3F"), forState: .Normal)
Я попытался изменить цвет текста для кнопки, но он все еще остается белым.
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)
Я также попытался изменить его на красный, черный, синий, но ничего не происходит.
Вы должны использовать func setTitleColor(_ color: UIColor?, forState state: UIControlState)
так же, как вы устанавливаете фактический текст заголовка. Документы
isbeauty.setTitleColor(UIColorFromRGB("F21B3F"), forState: .Normal)
Swift UI решение
Button(action: {}) {
Text("Button")
}.foregroundColor(Color(red: 1.0, green: 0.0, blue: 0.0))
Swift 3, Swift 4, Swift 5
улучшить комментарии. Это должно работать:
button.setTitleColor(.red, for: .normal)
Пример настройки цвета заголовка кнопки
btnDone.setTitleColor(.black, for: .normal)
Это быстрый 5 совместимый ответ. Если вы хотите использовать один из встроенных цветов, то вы можете просто использовать
button.setTitleColor(.red, for: .normal)
Если вам нужны некоторые пользовательские цвета, то создайте расширение для UIColor, как показано ниже.
import UIKit
extension UIColor {
static var themeMoreButton = UIColor.init(red: 53/255, green: 150/255, blue: 36/255, alpha: 1)
}
Затем используйте его для своей кнопки, как показано ниже.
button.setTitleColor(UIColor.themeMoreButton, for: .normal)
Подсказка: Вы можете использовать этот метод для хранения пользовательских цветов из цветового кода rgba и повторного их использования в приложении.
func setTitleColor(_ color: UIColor?, for state: UIControl.State)
Параметры:
color:
Цвет заголовка для использования в указанном состоянии.состояние:
состояние, которое использует указанный цвет. Возможные значения описаны в UIControl.State.
Пример:
let MyButton = UIButton()
MyButton.setTitle("Click Me..!", for: .normal)
MyButton.setTitleColor(.green, for: .normal)
ссылаясь на переключатели, вы также можете сделать это с помощью сегментированного управления следующим образом:
шаг 1: перетащите сегментированный элемент управления на ваш вид в инспекторе атрибутов измените заголовок двух сегментов, например "Мужской" и "Женский"
шаг 2: создать розетку & действие для этого в коде
шаг 3: создайте переменную для будущего использования, чтобы она содержала данные выбора
в коде сделайте следующее:
@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)
}
}