2012-02-20 79 views
8

我遇到了与此处相同的问题UITextField's custom font changes while in edit mode 并且可以真正解决问题。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; 

如果我使用系统字体,则该文本字段的作品,因为它应该,所以必须有事做也许这字体文件?

+0

什么是你的自定义字体名称???? – 2012-02-20 10:24:52

+0

字体是2Dumb.ttf 我只是想改变它,但它似乎被缓存在某处,因为更改名称仍然加载旧文件。也许我会尝试重新启动。 – Darren 2012-02-20 10:41:09

+0

我已经从Xcode中删除了字体,将它重命名为“Dumb.ttf”并将其放回到Xcode中。改变了我的代码font =只是说愚蠢和重命名它的plist,但它不会加载字体。任何仍然表示2Dumb的代码行都会加载字体。非常令人沮丧。 – Darren 2012-02-20 10:53:43

回答

1

enter image description here您使用的标签(lbl1,lbl2,lbl3)是自定义还是从xib文件设置?

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

enter image description here

+0

文本字段(lbl1,lbl2等)被添加到故事板中,然后在ViewDidLoad中更改字体。 – Darren 2012-02-27 11:54:52

+0

在你想要的任何类型的故事板中改变那个(lbl1,lbl2等..)的字体。它也发生在我之前。我改变了我想要的类型的xib文件中的字体名称。它的工作... – Rupesh 2012-02-27 11:59:30

+0

但自定义字体不会出现在界面生成器。 – Darren 2012-02-27 12:00:40

2

我已经下载了该字体,并在iPhone应用程序中尝试过。我还从互联网上下载了一些其他字体,并尝试使用它们。我还尝试了一些Mac字体,如Chalkduster。我也尝试过3Dumb。除了2Dumb和3Dumb以外,我尝试过的每种字体的结果都起作用。解决方案:使用其他字体。

+0

谢谢您花时间测试。我将不得不尝试找到类似的字体。我想知道字体中可能会有什么不同,以使其不起作用。 – Darren 2012-02-23 22:35:52

+1

也许只是尝试任何其他字体。我使用www.WebpagePublicity.com/free-fonts/a/Aliens.ttf进行了测试,它按预期工作如果它不适合您,那么您可能还有其他问题。 – dbrajkovic 2012-02-23 22:40:10

+0

是的,它可以很好地处理其他字体。 – Darren 2012-02-24 09:45:42

1

您可以再次设置字体编辑时,字体是一样的,当编辑。

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

} 
+0

试过。不工作。 – Sebyddd 2015-02-19 14:01:52

+0

这解决了我的问题!:) – 2017-05-04 13:44:30

3

我发现,当我在代码的任何地方设置的UILabel外观:

[[UILabel appearance] setFont:MYFONT]; 

更改UITextField字体仅适用于编辑文本,而不是在文本框所示,当用户在文本没有编辑它。

希望这有助于