首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UIStepper吞下了触碰

UIStepper吞下了触碰
EN

Stack Overflow用户
提问于 2012-10-21 04:45:40
回答 2查看 280关注 0票数 3

我使用UIStepper来更改在UITextField中显示的值,可以选择在UITextField中输入值进行编辑。

一切正常,但是有一个不需要的行为:只能按下对象本身的上半部分来编辑UITextField,因为下半部分中的触摸会被UIStepper吞噬。

我一直在寻找答案,但我没有找到。不过,我有一些提示。

UIStepper有2个按钮和1个ImageView,触摸在整个ImageView中被检测到(不可见或不可编辑)。

有什么想法吗?

EN

回答 2

Stack Overflow用户

发布于 2013-04-30 04:13:10

要解决这个问题,很可能需要子类化。您可以在UIStepper子类中重写pointInside:withEvent:并返回NO,除非严格在stepper的范围内:

代码语言:javascript
复制
- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event {
    return CGRectContainsPoint(self.bounds, point);
}
票数 0
EN

Stack Overflow用户

发布于 2013-04-30 04:39:47

一种选择是将分步程序和文本字段都放在一个容器视图中,该视图覆盖-hitTest:withEvent:,以便在查询分步程序之前查询文本字段。如果文本字段显示命中,则返回一个指向文本字段的指针。如果没有,检查步进器,如果它说它被击中了,就返回它。

控件有时会伪装得比实际大,以便更容易触摸。使用前面的技术应该可以让您尽可能多地保留stepper的额外可触摸区域,而不会妨碍文本视图的使用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12992512

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档