0

我有一个带有 UISegmentedControl 的表格视图作为每一行(单元格)的子视图。在 iOS 7 之前,我可以自由地上下滚动,而不会将任何手指接触解释为对片段的点击。现在,在 iOS7 上,如果不触发 setSelectedSegmetIndex,我将无法滚动。如果用户没有注意他们只是想滚动时会在不知不觉中更改设置。有什么办法可以防止这种情况?我正在使用针对 iOS 6 版本的 Xcode 5,我们的客户群中的 bc 需要能够做到这一点,因为有些不会升级。如果我以 iOS 7 为目标,一切正常,似乎只有在升级到 iOS 7 的设备上运行以 iOS 6 为目标的构建时。

4

2 回答 2

1

我尝试使用部署目标 6.0 和 7.0 SDK 重现该问题。但我没有面对这个问题。

如果要手动管理 setSelectedSegmentIndex 的触发,

您可以在分段控件上将属性 momentary 设置为 YES。

于 2013-10-25T21:19:58.907 回答
0

这确实是一个错误,而且很明显 Apple 不会采取任何措施来解决它。在 iOS 7 中,放置在 UITableViewCell 对象上的 UIButton 和 UISegmentedControl 对象会将用户触摸解释为轻击(选择)iOS 6 并非如此。这是我从 Apple 工程师那里收到的含糊的、不置可否的回复:“之后一些调查确实在 iOS 7 中似乎在 UITableViewCells 中的控件如何与手势识别器交互方面发生了一些变化。对于 iOS 7,表格视图正在尽最大努力调解或允许滑块和分段控件等控件比手势具有更高的比例/touch 事件。因此,这种行为变化似乎不可自定义,至少不允许恢复到 iOS 6 中的旧行为。我的意图不是在这里玷污苹果的声誉。以前我和他们的工程师一起工作过,他们下定决心要弄清楚他们的代码是否是原因,如果是这样,他们就清楚地承认了这一点,并为解决方法提供帮助。

于 2013-12-04T18:32:48.567 回答