Как я могу изменить размер шрифта uilabel без изменения самого шрифта?

У меня проблема с разрешением пользователю выбирать шрифт для метки в моем проекте, но затем, когда пользователь устанавливает размер этой метки (с помощью другой кнопки), метка сбрасывается на шрифт по умолчанию. Я хотел бы иметь возможность сохранить шрифт, который применял пользователь, в то же время позволяя ему изменять размер шрифта. Любая помощь приветствуется, спасибо!

Вот мой код..

-(IBAction)setFont{

    [userText setFont:[UIFont fontWithName:@"Arial-BoldMT" size:50.0]];

//I had to add a size when setting the font or else I got an error


}



-(IBAction)setFontSize{

  [userText setFont:[UIFont systemFontOfSize:24]];

}

2 ответа

Решение

Просто используйте fontWithSize: метод текущего шрифта метки:

- (IBAction)setFontSize {
    // Keep the same font but change its size to 24 points.
    UIFont *font = userText.font;
    userText.font = [font fontWithSize:24];
}

Функция [UIFont systemFontOfSize:] всегда будет возвращать системный шрифт по умолчанию. Вы можете просто использовать ту же функцию, которую вы вызываете в setFont, которая [UIFont fontWithName:size:],

Другие вопросы по тегам