【发布时间】:2014-12-24 09:35:49
【问题描述】:
我的 PageViewController 中有多个控制器,一个控制器中有几个滑块。现在有一个问题,用户必须准确触摸滑块圆圈(我不确定正确的表达,拇指?-那个移动部分),我想增加反应滑块的区域,而不是整个 PageViewController。我尝试了这些解决方案,但没有帮助:
-
thumbRectForBounds:
- (CGRect)thumbRectForBounds:(CGRect)bounds trackRect:(CGRect)rect value:(float)value { return CGRectInset ([super thumbRectForBounds:bounds trackRect:rect value:value], 15, 15); } -
增加hitTest区域:
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event { if (CGRectContainsPoint(CGRectInset(self.frame, 200, 200), point) || CGRectContainsPoint(CGRectInset(self.frame, 200, 200), point)) { return self; } return [super hitTest:point withEvent:event]; }
我的自定义滑块类中有这些方法,因为我想重用它。我发现但尚未尝试的最后一件事是在滑块上创建一些对象层,它“采用”手势并禁用 PageViewController 但我不知道该怎么做,我不确定它是否是好的/最佳解决方案。
【问题讨论】:
标签: ios ios7 uigesturerecognizer uislider hittest