如何使单个 UISegmentedControl 部分检测多个触摸

Posted

技术标签:

【中文标题】如何使单个 UISegmentedControl 部分检测多个触摸【英文标题】:How to make a single UISegmentedControl section detect multiple touches 【发布时间】:2014-09-11 16:04:50 【问题描述】:

我使用 UISegmentedControl 部分在按下时显示操作表。操作表有 2 个日期选择器,一个用于设置起始日期,一个用于设置截止日期。

当操作表完成后它会隐藏起来并做它需要做的事情,但是我注意到让操作表备份的唯一方法是选择 UISegment 的另一部分,然后选择显示操作表的部分。

我的问题是,是否有任何方法可以响应已选择的 UISegmentedControl 的特定段上的另一个触摸事件?

我已经在代码中使用了 selectedSegmentIndex 来显示操作表。

提前致谢。

【问题讨论】:

那么你是说你点击 UISegmentedControl 上的第一个片段,它会打开你的日期选择器,但是当你再次点击同一个片段时,在关闭日期选择器后,日期选择器不会再次显示? 【参考方案1】:

听起来您正在寻找的是momentary 状态为您的UISegmentControl。这将防止段控件保持任何段的选定位置。点击一个片段将充当一个按钮,而不是一个类似选项卡的选择器。

您可以像这样在界面生成器中执行此操作:

或者你可以用代码来做:

segmentControl.momentary = YES

如果您不需要分段控件来显示当前选定的分段,则此解决方案将起作用。从您的描述来看,这似乎很合适。

【讨论】:

这听起来正是我想要的。谢谢。

以上是关于如何使单个 UISegmentedControl 部分检测多个触摸的主要内容,如果未能解决你的问题,请参考以下文章

如何使黑色 UISegmentedControl 显示为可见的选择突出显示?

如何使最新的 UISegmentedControl 选项卡在单击它的应用程序会话期间持续存在?

带有 Bezeled 样式的 UISegmentedControl 使设备上的标题不居中

iOS 7 中 UINavigationbar 下方的 UISegmentedControl

选择 UISegmentedControl 控件会导致 SIGABRT

升级到 Xcode 11.x 后出现 UISegmentedControl 错误