UIScrollview中的UISwitch几乎不可能使用

时间:2010-03-30 17:04:06

标签: iphone objective-c cocoa-touch

我在UIScrollView中的视图底部使用UISwitch-Component。 现在出现的问题是,交换机几乎不可能刷卡,因为UIScrollView似乎主导了用户输入。

通过点击开关可以很好地切换,但从我的角度来看,大多数用户“切换”UISwitch而不是点击。

您是否有人遇到过相同/类似的问题并设法提出解决方案?

事先提前

SAM

1 个答案:

答案 0 :(得分:3)

你有一个设计决定:如果你的内容是水平滚动,那么用户在开关上滑动是不明确的 - 这是否意味着他们想要滚动或切换开关?

最简单的解决方案是修改您的UI,以免这种歧义消失。例如,如果滚动的contentSize不比滚动视图的边界宽,则它不能水平滚动,水平滑动将始终激活切换。

如果您确实想要允许水平滚动,那么将UISwitch替换为触摸时切换的UIButton是有意义的,类似于播放/暂停按钮。

另一方面,如果您不想修改UI,可以随时执行:

myScrollView.delaysContentTouches = NO;

这将使您的切换器立即“获取”触摸,而不是让它们首先转到UIScrollViewMore info here。 (您也可以在Interface Builder中设置此布尔值,如Squeegy所指出的那样。)