#iphone #cocoa-touch #uitextfield
#iPhone #cocoa-touch #uitextfield
Вопрос:
Шрифт моего 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];
}
Комментарии:
1. могу ли я узнать, что подразумевается под RLTextField?
2. Это всего лишь мой подкласс UITextField — я добавил @interface выше, чтобы было понятнее.
Ответ №1:
проверил ваш код …. и для этого есть только одно слово WTF ….!
Я не знаю, что в этом плохого, но для этого есть решение, и оно
self.nameTextField.font = [UIFont fontWithName:@"Courier New" size:21];
просто измените название шрифта. Это сработает .. приветствия 🙂
Кстати, вы, вероятно, обнаружили ошибку, а может быть, и нет, поэтому Apple добавила «Courier New».
Я не знаю…
Комментарии:
1. Ха, я на мгновение подумал, что «WTF» относится к качеству моего кодирования! В любом случае, как вы и предлагали, изменение шрифта сработало. Спасибо!
2. У меня такая же проблема, но я не знаю, почему это происходит. Я использую шрифт Avenir Next.
3. @S.J Я действительно понятия не имею, почему это происходило, я мог бы использовать другой шрифт или просто сообщить об ошибке @ bugreport.apple.com