Ios 设置滑块值

Ios 设置滑块值,ios,objective-c,button,slider,Ios,Objective C,Button,Slider,我尝试在单击按钮后为滑块设置一个值, 但它不工作-滑块不移动。代码运行良好,没有错误 这应该很简单,但我想不出来。 xCode版本4.5.2 谢谢 这是我的代码: ViewController.h #import <UIKit/UIKit.h> @interface ViewController : UIViewController @property (weak, nonatomic) IBOutlet UILabel *debugLabel; @property (weak,

我尝试在单击按钮后为滑块设置一个值, 但它不工作-滑块不移动。代码运行良好,没有错误

这应该很简单,但我想不出来。 xCode版本4.5.2

谢谢


这是我的代码:

ViewController.h

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController
@property (weak, nonatomic) IBOutlet UILabel *debugLabel;
@property (weak, nonatomic) IBOutlet UISlider *slider;

- (IBAction)slider:(id)sender;
- (IBAction)ButtonChangeValue:(id)sender;

@end
试用

    self.slider.value = 90;
而不是

    slider.value = 90;

我认为您的问题在于滑块接受0.0和1.0之间的值(默认值,使用
\u slider.maximumValue
\u slider.minimumValue
更改)。尝试将该值设置为0.9,而不是设置为90(如果您的意思是90%)

如果滑块更新但未设置动画,请使用:

[_slider setValue:0.9 animated:YES];

请注意,给定您的代码,您可能需要使用
self.slider
而不是
\u slider

检查我的


因为您使用的是interface builder,所以首先要看的是:UI组件(滑块、按钮)是否连接到文件所有者中的IBOutlets。这是此类问题最常见的根源

然后检查滑块的最小值和最大值(默认值为0;1-如rdurand所述)


spider1983也是正确的:由于slider是一个属性,您可以将其命名为self.slider(或_slider,但在本例中不应使用最后一个)

您的ViewController.h应为:

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController
{
     UISlider *slider;
}
@property (weak, nonatomic) IBOutlet UILabel *debugLabel;
@property (weak, nonatomic) IBOutlet UISlider *slider;

- (IBAction)slider:(id)sender;
- (IBAction)ButtonChangeValue:(id)sender;

@end
#导入
@界面ViewController:UIViewController
{
UISlider*滑块;
}
@属性(弱,非原子)IBUILabel*debugLabel;
@属性(弱、非原子)IBUISLIDER*滑块;
-(iAction)滑块:(id)发送方;
-(iAction)ButtonChangeValue:(id)发送方;
@结束
别忘了合成滑块在您的ViewController.m中也是如此


否则,使用
self.slider.value=90
\u滑块。值=90

我想。因为您并没有提到滑块的最大值和最小值,所以它采用默认的最大值和最小值,即0到1。因此,无法将值设置为90。首先更改其最大值和最小值,如下所示:

Slider.minimumValue = 1;
Slider.maximumValue = 100;
现在试试你的东西

Slider.value =90;

对于Swift,您可以使用:

slider.setValue(5.0, animated: true)
视野之内

@State private var value1: Double = 0.9
然后参考

Slider(value: $value1)

谢谢!是的,我必须直接在代码中设置最小值和最大值,我在属性检查器中设置了它,但不知何故,这不起作用。我没有否决投票,但OP希望在按钮单击不点击事件上设置滑块值。请先尝试将
最小值
最大值
设置为适当的值
@State private var value1: Double = 0.9
Slider(value: $value1)