//
// CanTouchSlider.h
// CloudSports
//
// Created by 卜成哲 on 16/5/23.
// Copyright © 2016年 cloudSports. All rights reserved.
//
#import <UIKit/UIKit.h>
@protocol CanTouchSliderDelegate <NSObject>
- (void)sliderTouchedValue:(float) value;
@end
@interface CanTouchSlider : UISlider
@property (nonatomic, assign) float sliderMaxValue;
@property (nonatomic, assign) float sliderMimValue;
@property (nonatomic, assign) id <CanTouchSliderDelegate> delegate;
@end
//
// CanTouchSlider.m
// CloudSports
//
// Created by 卜成哲 on 16/5/23.
// Copyright © 2016年 cloudSports. All rights reserved.
//
#import "CanTouchSlider.h"
@implementation CanTouchSlider
- (id)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
self.minimumTrackTintColor = CloudFITGreen;
self.minimumValue = 0;
self.maximumValue = 100;
self.thumbTintColor = [UIColor clearColor];
}
return self;
}
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
CGRect t = [self trackRectForBounds: [self bounds]];
float v = [self minimumValue] + ([[touches anyObject] locationInView: self].x - t.origin.x - 4.0) * (([self maximumValue]-[self minimumValue]) / (t.size.width - 8.0));
[self setValue: v];
[self.delegate sliderTouchedValue:v];
[super touchesBegan: touches withEvent: event];
}
@end
self.numSlide = [[CanTouchSlider alloc] init];
self.numSlide.minimumTrackTintColor = CloudFITGreen;
self.numSlide.delegate = self;(别忘了写代理)
self.numSlide.minimumValue = 0;
self.numSlide.maximumValue = 100;
[self.numSlide addTarget:self action:@selector(changeTextValue:) forControlEvents:UIControlEventValueChanged];
//滑动监听
- (void) changeTextValue: (UISlider *)slider {
NSLog(@"%f", slider.value);
}
//点击slider的代理方法
- (void)sliderTouchedValue:(float)value {
NSLog(@"%f", value);
}