在编辑模式下,UITextField的自定义字体发生了变化

我有一个从xib加载的UITextField 。 在视图控制器viewDidLoad方法中,我将字体设置为在.plist file设置正确的自定义值。 它显示的很好,除了处于编辑模式时,字体从我的自定义字体切换到默认字体,我相信是Helvetica 。 这是震动,我想保持整个自定义字体。 我环顾四周,我没有看到任何直接的解决scheme,我试过的唯一的事情是重置textFieldShouldBeginEditingtextFieldDidBeginEditing委托方法中的textField.font属性,两者都没有做任何事情。

编辑:我已经被要求的代码,它只是一行,但在这里。

  - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view from its nib. self.myTextField.font = [UIFont fontWithName:@"MyFont" size:18]; } 

我也尝试在以下两种方法中重置字体:

  -(void)textFieldDidBeginEditing:(UITextField *)textField { textField.font = [UIFont fontWithName:@"MyFont" size:18]; } -(BOOL)textFieldShouldBeginEditing:(UITextField *)textField { textField.font = [UIFont fontWithName:@"MyFont" size:18]; return YES; } 

这样做什么都不做,字体在编辑过程中仍然会改变,但是一旦键盘被解除,字体会变回自定义字体。

第二编辑:

那么,我只是做了一些我可能应该尝试的东西,并使用了几个不同的字体文件。 这两种字体都能正常工作,但无论出于何种原因,我所使用的自定义字体文件都会导致问题,尽pipe它在所有其他情况下都能正常工作。

我有一个otf字体的问题(事实上,我一直有otf字体的问题…)所以现在我只使用ttf字体,这很好。 看看这个字体转换器网站,如果你需要从otf转换字体。

尝试这个:

 - (void)textFieldDidChange:(UITextField *)textField { textField.font = [UIFont fontWithName:@"MyFont" size:18]; } 

或者,作为创buildIBAction的替代方法,将其与编辑已更改的textField连接,并将此代码添加到.m:

 - (IBAction)textFieldEditingChanged:(id)sender { textField.font = [UIFont fontWithName:@"MyFont" size:18]; } 

根据我的经验,问题是与字体文件。 我发现唯一的解决办法是find一个替代字体和开关。