UITextField在编辑时更改字体
我遇到了与此处相同的问题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;
如果我使用系统字体,则该文本字段的作品,因为它应该,所以必须有事做也许这字体文件?
您使用的标签(lbl1,lbl2,lbl3)是自定义还是从xib文件设置?
我怀疑它正在改变的字体是由于在Xib文件中设置的字体。
我已经下载了该字体,并在iPhone应用程序中尝试过。我还从互联网上下载了一些其他字体,并尝试使用它们。我还尝试了一些Mac字体,如Chalkduster。我也尝试过3Dumb。除了2Dumb和3Dumb以外,我尝试过的每种字体的结果都起作用。解决方案:使用其他字体。
谢谢您花时间测试。我将不得不尝试找到类似的字体。我想知道字体中可能会有什么不同,以使其不起作用。 – Darren 2012-02-23 22:35:52
也许只是尝试任何其他字体。我使用www.WebpagePublicity.com/free-fonts/a/Aliens.ttf进行了测试,它按预期工作如果它不适合您,那么您可能还有其他问题。 – dbrajkovic 2012-02-23 22:40:10
是的,它可以很好地处理其他字体。 – Darren 2012-02-24 09:45:42
您可以再次设置字体编辑时,字体是一样的,当编辑。
- (void)textFieldDidBeginEditing:(UITextField *)textField {
textField.font = customizedFont; //The font you want to use no matter editing/no editing
}
试过。不工作。 – Sebyddd 2015-02-19 14:01:52
这解决了我的问题!:) – 2017-05-04 13:44:30
我发现,当我在代码的任何地方设置的UILabel外观:
[[UILabel appearance] setFont:MYFONT];
更改UITextField
字体仅适用于编辑文本,而不是在文本框所示,当用户在文本没有编辑它。
希望这有助于
什么是你的自定义字体名称???? – 2012-02-20 10:24:52
字体是2Dumb.ttf 我只是想改变它,但它似乎被缓存在某处,因为更改名称仍然加载旧文件。也许我会尝试重新启动。 – Darren 2012-02-20 10:41:09
我已经从Xcode中删除了字体,将它重命名为“Dumb.ttf”并将其放回到Xcode中。改变了我的代码font =只是说愚蠢和重命名它的plist,但它不会加载字体。任何仍然表示2Dumb的代码行都会加载字体。非常令人沮丧。 – Darren 2012-02-20 10:53:43