我的UITextField字体在编辑时变得更亮,而在编辑完成时变粗体。这些图像应说明问题:
任何人都可以解释为什么会这样,以及如何阻止它?
这是我得到的所有代码 - 首先是我的UITextField子类(只是添加边距):
@interface RLTextField : UITextField {
}
@end
@implementation RLTextField
- (CGRect)editingRectForBounds:(CGRect)bounds
{
CGRect editingRect = CGRectMake(bounds.origin.x+35, bounds.origin.y-5, bounds.size.width, bounds.size.height);
return editingRect;
}
- (CGRect)textRectForBounds:(CGRect)bounds
{
CGRect editingRect = CGRectMake(bounds.origin.x+35, bounds.origin.y-5, bounds.size.width, bounds.size.height);
return editingRect;
}
@end
然后在我的viewController中实际添加的地方:
- (void)viewDidLoad
{
CGRect noteTitleTextFrame = CGRectMake(self.view.bounds.origin.x,
self.view.bounds.origin.y+10,
self.view.bounds.size.width,
44);
RLTextField *textField = [[RLTextField alloc] initWithFrame:noteTitleTextFrame];
self.nameTextField = textField; [textField release];
self.nameTextField.delegate = self;
self.nameTextField.borderStyle = UITextBorderStyleNone;
self.nameTextField.contentVerticalAlignment = UIControlContentVerticalAlignmentBottom;
self.nameTextField.font = [UIFont fontWithName:@"Courier" size:21];
[self.view addSubview:self.nameTextField];
}
答案 0 :(得分:4)
检查了你的代码......只有一个单词 WTF ....!
我不知道这有什么问题,但有一个解决方案,那就是
self.nameTextField.font = [UIFont fontWithName:@"Courier New" size:21];
只需更改字体名称即可。这将工作..欢呼:)
顺便说一句,你可能发现了一个错误,或者可能不是这就是为什么苹果增加了“Courier New”。
我不知道......