当用户在 UIButton 上滑动时,UIScrollView 停止工作
Posted
技术标签:
【中文标题】当用户在 UIButton 上滑动时,UIScrollView 停止工作【英文标题】:When user swipes on a UIButton the UIScrollView stops working 【发布时间】:2014-03-14 11:22:17 【问题描述】:我发现当我尝试滚动scrollivew 时,如果您拖动其中一个按钮,它会阻止scrollview 滚动。如果您正在拖动不包含任何内容的滚动视图的空白部分,它将滚动。有谁知道这个问题的解决方案吗?
我的 .h 文件只有一个滚动视图和顶部的图像:
@property (strong, nonatomic) IBOutlet UIScrollView *scrollView;
@property (strong, nonatomic) IBOutlet UIImageView *bodyImage;
我的 .m 文件有这个来启用滚动
- (void)viewDidLoad
[super viewDidLoad];
// Do any additional setup after loading the view.
[_scrollView setScrollEnabled:YES];
[_scrollView setContentSize:CGSizeMake(640, 1136)];
- (void)didReceiveMemoryWarning
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
然后我在图像顶部添加了一个按钮并将其推送到另一个视图控制器。
我明白为什么它只是单击按钮并转到下一个视图,因为按钮在顶部!我基本上只是希望用户能够滚动页面,当他/她实际点击时,它会转到下一个视图!
感谢大家的帮助,我真的很感激。
【问题讨论】:
【参考方案1】:尝试将UIScrollView's
delaysContentTouches
属性设置为NO
。
【讨论】:
我是否只在 -(void) viewDidLoad 中应用它?谢谢【参考方案2】:当您拖动按钮时,UIButton 是触摸事件的 FirstResponder 视图。这就是为什么 scrollView 在拖动按钮时不滚动的原因。
按照@Hitendra 的建议,将 UIScrollView 的 delaysContentTouches
属性设置为 NO。这将主要解决问题.. :)
【讨论】:
【参考方案3】:您能在此处添加一些示例代码吗...以便我们研究一下
【讨论】:
以上是关于当用户在 UIButton 上滑动时,UIScrollView 停止工作的主要内容,如果未能解决你的问题,请参考以下文章
UIButton:当isHighlighted = true时,我只能通过滑动手指来调用函数
屏幕左侧的 UIButton(在 iOS 7 导航滑动区域中)未突出显示
如何从 UIScrollView 内的 UIButton 传递延迟滚动手势?