UITextField在编辑时改变字体

8
我遇到了和这里一样的问题:UITextField在编辑模式下自定义字体会改变,真的需要一个解决方案。
我有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;

如果我使用系统字体,那么文本字段将按预期工作,所以可能与这个字体文件有关?

我只是想改变它,但似乎有一个缓存的地方,因为更改名称仍会加载旧文件。也许我会尝试重新启动。 - Darren
在你的问题中放一些代码... - Inder Kumar Rathore
没有太多的代码可供查看,但我已经添加了它。 - Darren
我正在尝试这个,但我的字体没有被加载。 - Inder Kumar Rathore
是的,我现在知道了。我已经更改了字体系列名称,重命名的字体现在可以使用了。然而,在编辑时显示默认字体的问题仍然存在,因此字体名称不是问题所在。 - Darren
显示剩余14条评论
4个回答

3
我发现,当我在代码的任何位置设置UILabel外观时:
[[UILabel appearance] setFont:MYFONT];

更改UITextField字体只适用于编辑文本,而不适用于用户未编辑时在文本字段中显示的文本。


2

我已经下载了这种字体并在iPhone应用程序中进行了尝试。我也从互联网上下载了一些其他的字体并进行了测试,比如Chalkduster等Mac字体。我还试过了3Dumb。结果是,除了2Dumb和3Dumb之外,我尝试的每种字体都可以正常工作。解决方案:使用另一种字体。


感谢您抽出时间进行测试。我将尝试寻找类似的字体。我想知道在字体中可能有什么不同之处,以致于它无法正常工作。 - Darren

1

在编辑时,您可以重新设置字体,编辑时字体将保持不变。

- (void)textFieldDidBeginEditing:(UITextField *)textField {
    textField.font = customizedFont; //The font you want to use no matter editing/no editing

}

1

输入图像描述您使用的标签(lbl1、lbl2、lbl3)是自定义的还是从xib文件设置的?

我怀疑它改变字体是由于在Xib文件中设置的字体。

enter image description here


在Storyboard中更改(lbl1,lbl2等)的字体为任何您想要的类型。我之前也遇到过这种情况。我已经在XIB文件中更改了所需类型的字体名称。它奏效了... - Rupesh
但是自定义字体在界面构建器中没有出现。 - Darren
你的意思是什么?我读过的所有资料都说无法在界面构建器中添加自定义字体。它们必须在代码中设置。我已经将字体添加到我的项目中,并在plist文件中做了相应的设置。 - Darren
我刚刚下载了一个名为“Dumbledor_1_Wide.ttf”的字体,并且可以在界面构建器中使用。 - Rupesh
1
我已经授予您赏金,以感谢您对我的实时帮助。尽管我们没有找到解决方案,但我已向苹果提交了错误报告。谢谢。 - Darren
显示剩余4条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接