これが私が現在やっている方法です
- (IBAction)sliderDistanceChanged {
CGFloat sliderPosition = self.sliderDistance.value;
NSUInteger sliderIndex = [BGDistanceFilterStop indexForFilterEffect:sliderPosition];
self.distanceFilterForCatalog = @([BGDistanceFilterStop numberValueOfDistance:sliderIndex]);
//self.distanceFilterForCatalog= @(self.sliderDistance.value).roundWithForDistanceFilter;
//[self.distanceFilter setTitle:self.distanceFilterForCatalog.distanceForm forState:UIControlStateNormal];
[self.distanceFilter setTitle:[BGDistanceFilterStop stringValueOfDistance:sliderIndex] forState:UIControlStateNormal];
}
- (IBAction)SliderNoLongerTouched:(id)sender {
CGFloat sliderIndex = [BGDistanceFilterStop sliderSnappedPosition:self.sliderDistance.value];
self.sliderDistance.value=sliderIndex;
}
基本的に、self.sliderDistance.valueを検出し、それに基づいて、丸め後に報告された値を設定します。
ユーザーが触れなくなったら、self.sliderDistance.valueの位置を変更します
それは結構です。
ただし、ユーザーが修正する前に、self.sliderDistance.valueを変更したいと思います。ただし、これはiOSが手の位置とスライダーの値の両方を追跡するために使用するのと同じ変数です。
では、self.sliderDistance.valueを変更せずに、ボタンが適切な場所にスナップするように調整するにはどうすればよいですか?