gpt4 book ai didi

objective-c - UIToolbar 中的 UISlider -> 无法获取 slider.value 并对其进行处理。 iOS 开发工具包

转载 作者:行者123 更新时间:2023-11-29 11:11:27 26 4
gpt4 key购买 nike

我正在尝试将 UISlider 放入我的 UIToolbar 并从中获取值并进行处理。我还希望能够通过其他方法更改 slider.value。因此,我通过它自己(而不是在 UIToolBar 上)为 UISlider 设置它并且一切正常。然后,当我将它放入 UIToolBar 时,该值停止发送到它和从它发送(每当它发生变化时我都在 NSLogging 它并且我不断得到 0 返回给我)。这是我的代码的相关部分 - 有人有什么想法吗?

- (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);
}

山姆

最佳答案

UIBarButtonItem(在您的例子中是 skipQuestionSlider)没有值属性,它只是包含项目。您需要引用您放入 UIBarButtonItem 中的项目。

NSInteger roundedSliderNumber = round(slider.value);

关于objective-c - UIToolbar 中的 UISlider -> 无法获取 slider.value 并对其进行处理。 iOS 开发工具包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11413079/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com