2010-03-30 26 views
1

我在位于UIScrollView内的视图底部使用UISwitch-Component。 现在出现的问题是,开关几乎不可能刷卡,因为UIScrollView似乎主宰了用户输入。UIScrollview内的UISwitch几乎不可能使用

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

你们中的任何一个人是否面临相同/相似的问题并设法提出解决方案?

提前THX

SAM

回答

3

你有一个设计的决定,使:如果您的内容是指水平滚动,然后通过一个开关,用户刷卡是模糊的 - 它意味着他们要滚动还是切换开关?

最简单的解决方案是修改您的用户界面,以消除这种歧义。例如,如果滚动的contentSize不比滚动视图的范围宽,则它不能水平滚动,并且水平滑动将始终激活开关。

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

在另一方面,如果你不想修改你的UI,你总是可以只是做:

myScrollView.delaysContentTouches = NO; 

这将导致你切换到“得到”的即时接触,而不是让他们先去UIScrollViewMore info here。 (你也可以在Interface Builder中设置这个布尔值,就像Squeegy指出的一样。)

+0

Hey Tyler。 Thx为您的答复,将delayedContentTouches设置为NO解决了我的问题。我的滚动视图只能垂直滚动,所以我认为它不是一个设计问题.. thx! – samsam 2010-03-30 17:23:48