SliderTableViewCell.m 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. //
  2. // SliderTableViewCell.m
  3. // TTSDemo
  4. //
  5. // Created by lappi on 3/16/16.
  6. // Copyright © 2016 baidu. All rights reserved.
  7. //
  8. #include <math.h>
  9. #import "SliderTableViewCell.h"
  10. @implementation SliderTableViewCell
  11. - (void)awakeFromNib {
  12. // Initialization code
  13. [super awakeFromNib];
  14. self.isContinuous = YES;
  15. [self.valueSlider addTarget:self action:@selector(sliderChanged:) forControlEvents:UIControlEventValueChanged];
  16. [self.valueSlider addTarget:self action:@selector(sliderEditEnded:) forControlEvents:UIControlEventTouchUpInside];
  17. [self.valueSlider addTarget:self action:@selector(sliderEditEnded:) forControlEvents:UIControlEventTouchUpOutside];
  18. }
  19. -(void)sliderChanged:(id)fromSlider{
  20. if(!self.isContinuous){
  21. int value = round(self.valueSlider.value);
  22. [self.valueSlider setValue:(float)value];
  23. [self.currentValueLabel setText:[NSString stringWithFormat:@"%d", value]];
  24. }else{
  25. [self.currentValueLabel setText:[NSString stringWithFormat:@"%.2f", self.valueSlider.value]];
  26. }
  27. }
  28. -(void)sliderEditEnded:(id)fromSlider{
  29. if(!self.isContinuous){
  30. int value = round(self.valueSlider.value);
  31. [self.valueSlider setValue:(float)value];
  32. [self.currentValueLabel setText:[NSString stringWithFormat:@"%d", value]];
  33. if(self.delegate){
  34. [self.delegate sliderValueChanged:(float)value forProperty:self.PROPERTY_ID fromSlider:self];
  35. }
  36. }else{
  37. [self.currentValueLabel setText:[NSString stringWithFormat:@"%.2f", self.valueSlider.value]];
  38. if(self.delegate){
  39. [self.delegate sliderValueChanged:self.valueSlider.value forProperty:self.PROPERTY_ID fromSlider:self];
  40. }
  41. }
  42. }
  43. - (void)setSelected:(BOOL)selected animated:(BOOL)animated {
  44. [super setSelected:selected animated:animated];
  45. // Configure the view for the selected state
  46. }
  47. @end