I tried changing the colors of the text for a button, but it's still staying white.
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)
I also tried changing it the red, black, blue, but nothing is happening.
This is swift 5 compatible answer. If you want to use one of the built-in colours then you can simply use
button.setTitleColor(.red, for: .normal)
If you want some custom colours, then create an extension for a UIColor as below first.
import UIKit
extension UIColor {
static var themeMoreButton = UIColor.init(red: 53/255, green: 150/255, blue: 36/255, alpha: 1)
}
Then use it for your button as below.
button.setTitleColor(UIColor.themeMoreButton, for: .normal)
Tip: You can use this method to store custom colours from rgba colour code and reuse it throughout your application.
referring to radio buttons ,you can also do it with Segmented Control as following:
step 1: drag a segmented control to your view in the attribute inspector change the title of the two segments ,for example "Male" and "Female"
step 2: create an outlet & an action for it in the code
step 3: create a variable for future use to contain choice's data
in the code do as following:
@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)
}
}
Swift UI solution
Button(action: {}) {
Text("Button")
}.foregroundColor(Color(red: 1.0, green: 0.0, blue: 0.0))
Swift 3, Swift 4, Swift 5
to improve comments. This should work:
button.setTitleColor(.red, for: .normal)
You can set UIButton title color with hex code
btn.setTitleColor(UIColor(hexString: "#95469F"), for: .normal)
Example in setting button title color
btnDone.setTitleColor(.black, for: .normal)
func setTitleColor(_ color: UIColor?, for state: UIControl.State)
Parameters:
color:
The color of the title to use for the specified state.state:
The state that uses the specified color. The possible values are described in UIControl.State.
Sample:
let MyButton = UIButton()
MyButton.setTitle("Click Me..!", for: .normal)
MyButton.setTitleColor(.green, for: .normal)
set title color
btnGere.setTitleColor(#colorLiteral(red: 0, green: 0, blue: 0, alpha: 1), for: .normal)
Source: Stackoverflow.com