Пользовательский шрифт UITextField изменяется в режиме редактирования - PullRequest
3 голосов
/ 18 августа 2011

У меня есть UITextField, который загружается из XIB. В этом методе контроллеров представления viewDidLoad я установил шрифт в пользовательское значение, которое правильно установлено в .plist file и все. Он отображается нормально, за исключением случаев, когда он находится в режиме редактирования, и в этот момент шрифт переключается с моего пользовательского шрифта на шрифт по умолчанию, который, я считаю, Helvetica. Это раздражает, и я хотел бы сохранить собственный шрифт повсюду. Я осмотрелся и не нашел немедленного решения, единственное, что я попробовал, - сброс свойства textField.font в методах делегатов textFieldShouldBeginEditing и textFieldDidBeginEditing, ни один из которых ничего не сделал.

Редактировать: меня просили код, на самом деле это только одна строка, но здесь идет.

    - (void)viewDidLoad
    {
        [super viewDidLoad];
        // Do any additional setup after loading the view from its nib.

        self.myTextField.font = [UIFont fontWithName:@"MyFont" size:18];
    }

Я также попытался сбросить шрифт следующими двумя способами:

    -(void)textFieldDidBeginEditing:(UITextField *)textField
    {
        textField.font = [UIFont fontWithName:@"MyFont" size:18];
    }

    -(BOOL)textFieldShouldBeginEditing:(UITextField *)textField
    {
        textField.font = [UIFont fontWithName:@"MyFont" size:18];
        return YES;
    }

Это ничего не делает, шрифт все еще изменяется во время редактирования, но затем возвращается к пользовательскому шрифту после закрытия клавиатуры.

Второе редактирование:

Ну, я просто сделал что-то, что, вероятно, должен был попробовать раньше, и использовал несколько разных файлов шрифтов. Оба этих шрифта работали нормально, но по какой-то причине файл нестандартного шрифта, который я использовал, вызывает проблему, несмотря на то, что он работал нормально во всех других ситуациях.

Ответы [ 3 ]

1 голос
/ 19 апреля 2012

У меня была эта проблема со шрифтом otf (фактически у меня всегда были проблемы со шрифтами otf ...), поэтому теперь я использую только шрифты ttf, которые прекрасно работают. Посетите этот веб-сайт конвертера шрифтов , если вам нужно конвертировать шрифты из otf.

0 голосов
/ 19 апреля 2012

По моему опыту, проблема с файлом шрифта. Я обнаружил, что единственным решением было найти альтернативный шрифт и переключиться.

0 голосов
/ 19 августа 2011

Попробуйте это:

- (void)textFieldDidChange:(UITextField *)textField {
    textField.font = [UIFont fontWithName:@"MyFont" size:18];
}

Или, в качестве альтернативы, для создания IBAction, подключите его к textField с измененным редактированием и добавьте этот код в свой .m:

- (IBAction)textFieldEditingChanged:(id)sender {
    textField.font = [UIFont fontWithName:@"MyFont" size:18];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...