如何在多个场景中通过步进器更改字体大小?

时间:2013-03-12 10:49:47

标签: ios xcode uistepper

我正在使用步进器来控制文本视图的字体大小,但是在我按两次步进器之前没有触发任何操作。为什么会这样?

以下代码用于`mystepper'IBAction:

- (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的值可以在muiltple场景中传递,这样fontSize就不需要按下加班。我怎么能得到它?

2 个答案:

答案 0 :(得分:2)

在viewDidLoad中:

[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]];
}

这是核心逻辑,但可能会有微小的变化,以满足您的要求。

希望这会对你有所帮助。

答案 1 :(得分:0)

您想在多个屏幕中设置大小。因此,一种做法是使用userDefaults。

在viewDidLoad方法中,您需要读取userDefaults并检查是否没有保存的数据,保存minValue和maxValue。

在您的方法中

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

使用新值并更新userDefaults值。

获取userDefaults值并在整个应用程序中使用该大小。