Objective c UIToolbar中的UISlider->;can';t获取slider.value并对其进行处理。iOS SDK
我试图将一个UISlider放入我的UIToolbar中,并从中获取值并进行处理。我还希望能够通过其他方法更改slider.value。 所以,我自己为UISlider设置了它(不是在UIToolBar上),一切都很好。然后,当我将其放入UIToolBar时,该值停止向它发送和从它发送(每当它发生变化时,我都将其记录下来,并不断将0返回给我)。 这是我代码的相关部分——有人有什么想法吗Objective c UIToolbar中的UISlider->;can';t获取slider.value并对其进行处理。iOS SDK,objective-c,ios,uitoolbar,uislider,Objective C,Ios,Uitoolbar,Uislider,我试图将一个UISlider放入我的UIToolbar中,并从中获取值并进行处理。我还希望能够通过其他方法更改slider.value。 所以,我自己为UISlider设置了它(不是在UIToolBar上),一切都很好。然后,当我将其放入UIToolBar时,该值停止向它发送和从它发送(每当它发生变化时,我都将其记录下来,并不断将0返回给我)。 这是我代码的相关部分——有人有什么想法吗 - (void)setupToolBarAndSlider { CGRect frame = CGRe
- (void)setupToolBarAndSlider {
CGRect frame = CGRectMake(0.0, 0.0, 200.0, 30.0);
UISlider *slider = [[UISlider alloc] initWithFrame:frame];
[slider addTarget:self action:@selector(sliderValueChanged) forControlEvents:UIControlEventValueChanged];
[slider setBackgroundColor:[UIColor clearColor]];
slider.minimumValue = 0;
slider.maximumValue = 8;
slider.continuous = YES;
slider.value = questionNumberForArray;
//Change slider for UIToolbar
UIBarButtonItem *skipQuestionSlider = [[UIBarButtonItem alloc] initWithCustomView:slider];
// Set the width of aSlider
[skipQuestionSlider setWidth:400.0];
//Set up UIToolBar with Slider in it.
UIToolbar *toolBar;
CGRect rect2 = CGRectMake(0, toolBar.frame.origin.y , self.view.frame.size.width , 44);
toolBar = [[UIToolbar alloc]initWithFrame:rect2];
toolBar.barStyle = UIBarStyleBlackTranslucent;
[toolBar setItems:[NSArray arrayWithObjects:skipQuestionSlider, nil]];
[self.view addSubview:toolBar];
}
- (void)sliderValueChanged {
NSInteger roundedSliderNumber = round(skipQuestionSlider.value);
NSLog(@"Slider Value = %d", roundedSliderNumber);
}
SamUIBarButtonItem(在您的例子中,是skipQuestionSlider)没有value属性,它只包含项目。您需要引用您放入UIBarButtonItem中的项目
NSInteger roundedSliderNumber=round(slider.value)代码>