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