UIScrollview 中的 UISwitch 几乎无法使用
Posted
技术标签:
【中文标题】UIScrollview 中的 UISwitch 几乎无法使用【英文标题】:UISwitch within UIScrollview nearly impossible to use 【发布时间】:2010-03-30 17:04:06 【问题描述】:我在位于 UIScrollView 内的视图底部使用 UISwitch-Component。 现在出现的问题是,开关几乎不可能滑动,因为 UIScrollView 似乎主导了用户输入。
通过点击开关切换效果很好,但从我的角度来看,大多数用户“切换” UISwitch 而不是点击。
你们中是否有人遇到过相同/或类似的问题并设法提出解决方案?
提前谢谢
山姆
【问题讨论】:
【参考方案1】:您需要做出设计决策:如果您的内容是要水平滚动的,那么用户在开关上滑动就会产生歧义——这是否意味着他们想要滚动或切换开关?
最简单的解决方案是修改您的 UI,以消除这种歧义。例如,如果滚动条的contentSize
不宽于滚动视图的边界,则它不能水平滚动,水平滑动总是会激活开关。
如果您确实希望允许水平滚动,那么将UISwitch
替换为在触摸时切换的UIButton
是有意义的,类似于播放/暂停按钮。
另一方面,如果你不想修改你的 UI,你总是可以这样做:
myScrollView.delaysContentTouches = NO;
这将使您的开关立即“获取”触摸,而不是让它们先转到UIScrollView
。 More info here。 (你也可以在 Interface Builder 中设置这个布尔值,正如 Squeegy 所指出的那样。)
【讨论】:
嘿泰勒。感谢您的回复,将 delaysContentTouches 设置为 NO 解决了我的问题。我的 Scrollview 只能垂直滚动,所以我认为这不是设计问题.. thx!以上是关于UIScrollview 中的 UISwitch 几乎无法使用的主要内容,如果未能解决你的问题,请参考以下文章
静态 UITableViewCell 中的 UISwitch 生成错误
UITableViewCell 中的自定义 UISwitch
从弹出窗口中的 UISwitch 操作中隐藏 UIImageView (iPad)
将 UISwitch 添加到 TableView 中的一个单元格
对于 iO,我有一个 if / else 代码块,对 UISwitch 中的变化做出反应。在某些情况下如何将 uiswitch 设置回关闭?