YBSegControl.m 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. //
  2. // YBSegControl.m
  3. // YBmyth
  4. //
  5. // Created by YunBao on 2018/1/16.
  6. // Copyright © 2018年 Rookie. All rights reserved.
  7. //
  8. #import "YBSegControl.h"
  9. @implementation YBSegControl
  10. /**
  11. * 重写 以下两个方法 做到重复点击也能响应事件
  12. */
  13. -(void)touchesEnded:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
  14. [self setSelectedSegmentIndex:self.selectedSegmentIndex];
  15. [super touchesEnded:touches withEvent:event];
  16. }
  17. -(void)setSelectedSegmentIndex:(NSInteger)selectedSegmentIndex {
  18. if (self.selectedSegmentIndex == selectedSegmentIndex) {
  19. [super setSelectedSegmentIndex:UISegmentedControlNoSegment];
  20. }else {
  21. [super setSelectedSegmentIndex:selectedSegmentIndex];
  22. }
  23. }
  24. -(void)drawRect:(CGRect)rect{
  25. // for (int i=0; i<self.subviews.count; i++) {
  26. // if (self.selectedSegmentIndex == i) {
  27. // UIView *v = self.subviews[i];
  28. // UIColor *circleColor = [UIColor redColor];
  29. // UIBezierPath* linePath = [UIBezierPath bezierPath];
  30. // CGFloat y = CGRectGetHeight(rect);
  31. // [linePath moveToPoint:CGPointMake(CGRectGetMinX(v.frame), y)];
  32. // [linePath addLineToPoint:CGPointMake(CGRectGetMaxX(v.frame), y)];
  33. // linePath.lineWidth = 2;
  34. // [circleColor setStroke];
  35. // [linePath stroke];
  36. // }
  37. // }
  38. }
  39. @end