我想使用UISlider来使用AVAudioPlayer管理音量级别
问题我发现值设置在0和1之间。它只记录0或1。
但是,我希望它能够将诸如0.1,0.2,0.3之类的变量限制在1.0之间,因此我可以使用这个值来调整游戏声音。
有谁知道我该怎么做?
我目前有......
- (void)viewDidLoad
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
[slider setValue:[[NSUserDefaults standardUserDefaults] floatForKey:@"sliderValue"]];
(void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
-(IBAction)slidetheslider {
[[NSUserDefaults standardUserDefaults] setFloat:[slider value] forKey:@"sliderValue"];
GameSounds = slider.value;
NSLog (@"Volume Level %d", GameSounds);
在下一个VC上,我重新加载保存的值....
GameVolume = [[NSUserDefaults standardUserDefaults] floatForKey:@"sliderValue"];
NSLog (@"Volume Slider %d", GameVolume);
此后我使用GameVolume作为音量的参考。
问题是如果我尝试0.0到1.0,它只给我一个0或1。
如果我尝试0 - 100然后将GameVolume更改为此...
GameVolume = [[NSUserDefaults standardUserDefaults] floatForKey:@"sliderValue"]/100;
NSLog (@"Volume Slider %d", GameVolume);
它仍然只给我0或1
答案 0 :(得分:0)
设置minimumValue和maximumValue属性。它们默认为0.0和1.0,但是浮点数,可以设置为您喜欢的任何颜色。
以下是文档:Apple Docs for UISlider
如果您只读取0和1的值,则可能使用的是不正确的类型。请发布相关代码。
答案 1 :(得分:0)
您可以使用数学选项。将最大值和最小值设置为0到100,当需要将当前滑块值除以100时
minimumvalue:0 最大值:100
-(float)getValueOfSlider:(CGFloat)sliderValue
{
return sliderValue/100;
}
-(float)setSliderValue:(float)inputValue
{
return inputValue*100;
}
快乐编码