【问题标题】:Upper half of UISegmentControl not responding to touch分段控制的上半部分对触摸没有响应
【发布时间】:2013-02-22 10:05:46
【问题描述】:

我在我的应用程序中使用 UISegmentControl 风格 - UISegmentedControlStyleBordered 用于控制事件的方法 - UIControlEventValueChanged 但是我发现每个部分的上半部分对触摸没有反应。

我重写 -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 只是为了弄清楚发生了什么,但这个方法没有被调用用于段触摸的上半部分。

我检查了默认的iOS 应用程序,如提醒和ios5 地图应用程序,其中有分段控制。但我发现即使是那些部分也没有响应上半部分的触摸。但是日历应用程序中的段响应上半部分触摸。

如何让整个片段响应触摸事件?

【问题讨论】:

  • 其他视图可能重叠还是 UISegmentControl 的包含视图比它小?尝试设置父视图clipsSubviews = YES 和/或使用模拟器Debug->Color Blended Layers
  • 检查它的子视图框架...
  • 它的父视图是UIToolbar,没有属性clipsSubview。并且子视图框架没问题。

标签: iphone ios xcode ipad cocoa-touch


【解决方案1】:

检查它的框架。如果没有设置框架,则为 UISegmentedControl 设置框架,也许这会解决你的问题。

【讨论】:

  • 框架设置正确仍然存在问题。
【解决方案2】:

由于它位于 UIToolbar 中,请尝试将样式设置为 UISegmentedControlStyleBar 而不是 UISegmentedControlStyleBordered,后者用于更大的分段控件选项。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-06
    • 2013-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-19
    相关资源
    最近更新 更多