Изменить размер шрифта через UiBarButtonItem в UITextView, работает только один раз - PullRequest
0 голосов
/ 24 марта 2011

У меня есть UiTextView, где я хочу изменить размер шрифта (увеличить), здесь код

-(void)biggerFont:(UIBarButtonItem *) item {
    CGFloat i = [UIFont systemFontSize];
    textView.font = [UIFont fontWithName:@"Tahome" size:i];
    i+=2;    
}

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

1 Ответ

3 голосов
/ 24 марта 2011

Легко, что вы не сохраняете состояние i постоянно. Каждый раз, когда вы устанавливаете i на одно и то же значение. После того, как метод был выполнен, i отбрасывается, потому что он существует только в области действия методов.

Измените i на свойство, похожее на

CGFloat myFontSize;

@property(nonatomic) CGFloat myFontSize;

Например, в viewWillLoad вы устанавливаете значение по умолчанию

self.myFontSize = [UIFont systemFontSize];

И ваш метод меняется на

-(void)biggerFont:(UIBarButtonItem *) item 
{
    myFontSize += 2;
    textView.font = [UIFont fontWithName:@"Tahome" size:myFontSize];
}
...