Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/112.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 通过步进器调整字体大小_Ios_Xcode_Uistepper - Fatal编程技术网

Ios 通过步进器调整字体大小

Ios 通过步进器调整字体大小,ios,xcode,uistepper,Ios,Xcode,Uistepper,我希望当您单击步进器时,我的应用程序将在UITextView中调整字体大小。问题是我有错误 - (IBAction)myStepper:(id)sender { [myStepper setMinimumValue:14.0] self.myStepper.maximumValue =20.0; UIFont newSize = [myTextView fontWithSize:self.stepper.value]; self.myTextView.font =

我希望当您单击步进器时,我的应用程序将在
UITextView
中调整字体大小。问题是我有错误

- (IBAction)myStepper:(id)sender {
    [myStepper setMinimumValue:14.0]
    self.myStepper.maximumValue =20.0;
    UIFont newSize = [myTextView fontWithSize:self.stepper.value];
    self.myTextView.font = newSize;
}

这是我所有的代码,我是否遗漏了什么?

您在第一行中遗漏了一个
self
和一个分号:

[self.myStepper setMinimumValue:14.0];
这行中有一个星号和
self
,而
stepper
应该是
myStepper

UIFont *newSize = [self.myTextView fontWithSize:self.myStepper.value];

为了便于代码阅读,您不应该为操作方法指定与UISteppert属性相同的名称。例如,将其更改为
-(iAction)stepperValueChanged:(id)sender

您不需要在此方法中设置最小值和最大值,但需要在初始化方法中设置

- (void) viewDidLoad
{
    [super viewDidLoad];
     // Various implementation

    self.myStepper.minimumValue = 14;
    self.myStepper.maximumValue = 20.0;
}

- (IBAction) stepperValueChanged:(id)sender 
{
     self.myTextView.font = [UIFont fontWithSize:self.myStepper.value];
}
看起来您在理解方法和属性之间的差异方面遇到了一些问题,如果您正在开始开发(欢迎来到开发世界;),您应该阅读一些文档和教程

编辑:

类中不存在属性myStepper。如果使用interface builder,则必须将步进器链接到UIStepper属性:此apple教程将帮助您:。
否则,如果不使用Interface Builder,则必须将UIStepper属性添加到类中并自行分配。

我会像这样清理您的方法:

- (IBAction)myStepperValueChanged:(UIStepper *)sender {
    [sender setMinimumValue:14.0];
    [sender setMaximumValue:20.0];
    UIFont * newSize = [UIFont fontWithName:myTextView.font.fontName size:sender.value];
    [self.myTextView setFont:newSize];
}

但是,如果前两行是运行时使用outlet名称的静态值,我会将其作为标准init过程的一部分放入
-viewDidLoad
方法中(我假设它是类中的
myStepper
):

或者我在界面生成器中设置这些值,您根本不需要处理步进机的任何出口




注意:很难说哪种解决方案更适合您,您没有分享太多信息来帮助我推荐特定的解决方案。

您比我快了一秒;)这解决了一些问题。但是仍然有一个错误:myStepper、setMinimumValue、maximumValue和myTextView。用我发现的另一个问题更新了我的答案。我仍然有错误符号:myStepper、setMinimumValue、maximumValue和myTextView。添加了另一个问题。顺便说一句,如果您单击错误,或转到问题导航器(Command-4),您应该能够看到有关错误的更多信息。您到底得到了什么类型的错误?在ViewController中类型的对象上找不到“myStepper”属性,在ViewControllerI中类型的对象上找不到“stepper”属性两个错误-1self.myStepper.minimumValue=14;`&2. ` self.myTextView.font[myTextViewfontWithSize:self.myStepper.value]`更详细地说明您的错误:单击文本编辑器左侧的红色“错误”图标,将显示更详细的错误。它们都表示在ViewControllerHanks类型的对象上找不到属性“mystepper”!Uisteper属性成功了!我现在在iAction中只有一个错误,'UITextView'没有可见的@interface声明选择器'fontWithSize',我的错在这里,使用[UIView fontWithSize:代替[myTextView fontWithSize:-答案已更新。谢谢……但是所有“发件人”都有他们的错误符号。您可以更具体地说明您在此处收到的错误吗?它不显示错误,但当我构建模拟器时,它崩溃了。崩溃报告怎么说?以NSException类型的未捕获异常终止
[myStepper setMinimumValue:14.0];
[myStepper setMaximumValue:20.0];