我遇到的问题与UITextField's custom font changes while in edit mode相同 并且可以真正做到解决方案。
我有4个UITextFields,我在ViewDidLoad中分配自定义字体。 这很有效,但是当它们单击一个字段来编辑文本时,字体会变回默认文本,当resignedfirstresponder返回时,自定义字体会回来。
- (void)viewDidLoad
{
[super viewDidLoad];
{
UIFont *twoDumb = [UIFont fontWithName:@"Dumb" size:20.f];
lbl1.font = twoDumb;
broughtForward.font = twoDumb;
lbl2.font = [UIFont fontWithName:@"Dumb" size:24.f];
amountTextfield.font = twoDumb;
lbl3.font = twoDumb;
如果我使用系统字体,那么文本字段可以正常工作,因此必须与此字体文件有关?
答案 0 :(得分:3)
我发现当我在代码中的任何位置设置UILabel外观时:
[[UILabel appearance] setFont:MYFONT];
更改UITextField
字体仅适用于编辑文本,而不适用于用户未编辑文本时显示的文本。
希望这有帮助
答案 1 :(得分:2)
我已下载该字体并在iPhone应用中尝试过。我还从互联网上下载了一些其他字体并尝试了它们。我也尝试了一些Mac字体,如Chalkduster。我也试过3Dumb。结果我尝试的每种字体除了2Dumb和3Dumb工作。解决方案:使用其他字体。
答案 2 :(得分:1)
您使用的标签(lbl1,lbl2,lbl3)是自定义的还是从xib文件设置的?
我怀疑它正在改变的字体是由于在Xib文件中设置了字体。
答案 3 :(得分:1)
您可以在编辑时再次设置字体,编辑时字体将相同。
- (void)textFieldDidBeginEditing:(UITextField *)textField {
textField.font = customizedFont; //The font you want to use no matter editing/no editing
}