I am working on an application where I am calling the UITextFieldDelegate method:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { }
I am successfully calling it, and within the method, I enable a particular button. This is also working fine. However, the problem I am facing is that I am unable to make the title on the button bold when the button is enabled. I set the font in Interface Builder, and I'm trying to bold the title programamtically. Here is the relevant code that shows what I am doing:
if ([keys count] == [_tireName count]) {
[_doneButton setEnabled:YES];//this line works
[[_doneButton titleLabel] setFont:[UIFont boldSystemFontOfSize:28]];//this line does nothing
} else if ([keys count] < [_tireName count]){
[_doneButton setEnabled:NO];//this line works
[[_doneButton titleLabel] setFont:[UIFont systemFontOfSize:28]];//this line does nothing
}
Ignore the "if" clause itself. I want the text on the button to be bold when the button is enabled, and I want the text on the button to be "normal", when it is disabled. What am I doing wrong?
Select the label and then open up the Attribute Inspector (CMD + Option + 5). Select the button on the font box and then you can change your text size or font.
_doneButton.titleLabel.font = [UIFont fontWithName:@"Helvetica-Bold" size:24];
this will make your text bold, because you are using system font, which is helvetica. I hope it helps
Similar to BooTooMany's answer, but I found that it actually changed the size when used in a UIButton.
I used:
[_doneButton.titleLabel setFont:[UIFont boldSystemFontOfSize:_doneButton.titleLabel.font.pointSize]];
That way, it keeps the same font size as what it started with, just makes it bold
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With