Как я могу изменить FontSize пошагово в нескольких сценах?

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

Следующий код предназначен для IBAction mystepper:

- (IBAction) changeFontSize:(id)sender
{

    [myStepper setMinimumValue:14.0]
    self.myStepper.maximumValue =20.0;

    UIFont newSize = [myTextView fontWithSize:self.stepper.value];
    self.myTextView.font = newSize;

}

Я считаю, что проблема в том, что мне нужно установить текущее значение шагового двигателя равным минимальному значению. Тем не менее, я хочу, чтобы значение size могло проходить в нескольких сценах, чтобы fontSize не нужно было нажимать сверхурочно. Как я могу получить???


person Steve Lai    schedule 12.03.2013    source источник


Ответы (2)


В представленииDidLoad:

[myStepper setMinimumValue:14.0]
[myStepper setMaximumValue:20.0]

UIFont newSize = [myTextView fontWithSize:self.stepper.value]; // provide some default value to myStepper
self.myTextView.font = newSize;

// назначаем степперу один метод - событие изменения значения

- (IBAction)stepperValueChanged:(id)sender
{
    double stepperValue = ourStepper.value;

    [self.myTextView setFont:[self.myTextView.font fontWithSize:stepperValue]];
}

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

Надеюсь, что это поможет вам.

person Mrunal    schedule 12.03.2013

Как вы хотите установить размер на нескольких экранах. Таким образом, одной из практик было бы использование userDefaults.

В вашем методе viewDidLoad вам нужно прочитать userDefaults и проверить, нет ли для него сохраненных данных, сохранить minValue и maxValue.

И в вашем методе

- (IBAction)stepperValueChanged:(id)sender{
    double stepperValue = ourStepper.value;
   ...
}

используйте новое значение и обновите значение userDefaults.

И получите значение userDefaults и используйте этот размер во всем приложении.

person Anoop Vaidya    schedule 12.03.2013