我有一个UIButton使用自定义字体,在我的视图加载时设置:
- (void)viewDidLoad
{
[super viewDidLoad];
self.searchButton.titleLabel.font = [UIFont fontWithName: @"FONTNAME" size: 15.0 ];
}
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是字体似乎浮出中心线.如果我注释掉这一行,默认字体会垂直居中显示.但是更改为自定义字体会破坏垂直对齐.
我也在使用自定义字体的Table Cell上遇到了同样的问题.
我是否需要告诉视图某处自定义字体不像其他字体那么高?
编辑:我刚刚意识到我使用的字体是Windows TrueType字体.我可以在Mac上的TextEdit中使用它,只是我的应用程序中的对齐问题

我有一个奇怪的问题.我有一个UITextField,用户应在其中写入一些内容,因此该字段称为"amountField".一切都很好看,当用户开始编辑文本字段时,文本位于垂直和水平中心 - 这很棒.
但是,当用户结束编辑时,文本向上移动一点点.我尝试了很多东西,没有任何帮助......
我在下面添加了截图,因此您可以看到问题所在.
这是编辑字段时的样子 - 没关系.

这就是完成编辑时的样子 - 这就是问题所在!

如果有人知道可能导致这种情况的话,我将非常感激!:)
这是我的一些与amountField相关的代码.
amountField.keyboardType = UIKeyboardTypeNumberPad;
amountField.returnKeyType = UIReturnKeyDone;
amountField.delegate = self;
[amountField setFont:[UIFont fontWithName:@"Nuptial Script LT Std" size:30]];
amountField.borderStyle = UITextBorderStyleNone;
UIImage *amountBg = [UIImage imageNamed:@"skin2_ipad_amountField.png"];
[amountField setBackground:amountBg];
amountField.rightView = nil;
//amountField.backgroundColor = [UIColor colorWithRed:1 green:1 blue:1 alpha:0.2];
amountField.textAlignment = UITextAlignmentCenter;
amountField.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
amountField.adjustsFontSizeToFitWidth = YES;
amountLabel.textColor = UIColorFromARGB(0x313030); //Using my own macro
amountField.frame = CGRectMake(300, 480, 136, 32);
amountField.center = CGPointMake(605, 439);
Run Code Online (Sandbox Code Playgroud)
PS:那些白色的角落是因为我将背景设置为0.2 alpha的白色,没关系.
当我的UITextField成为第一响应者(在编辑时)时,文本会略微向下移动,并且字符之间的间距会略微增加.在辞职第一响应者(键盘消失)后,角色移回原始位置.起初我认为这是一个字体问题,因为我使用的是自定义字体,但是当我使用系统字体或其他自定义字体时会发生同样的事情.
请检查下面的图像.第一个是键盘向下,第二个是键盘向上.可能很难看出,因为方差很小,但键盘向上状态显示字符向下移动并略微分开.

