我在UICollectionViewCell中有一个UIScrollView,我正在尝试在UIScrollView滚动到某个-x值时执行操作。
我试过
CGPoint lastOffset;
if (lastOffset.x < -50 && scrollView.contentOffset.x >= -50) {
// Animate the star
NSLog(@"Animate");
}
但问题是只有当scrollVIew返回正常状态时才会调用它。
对于它,我也尝试了
if (scrollView.contentOffset.x >= -50) {
// Animate the star
NSLog(@"Animate");
}
但这并不总是被调用。
基本上,我想要创建的东西就像拉动刷新,但在scrollViews的x访问。
另一个例子,如果我想要做的是用于iPhone的Tweetbot 3。如果您在单元格上向右滑动,您可以选择回复,加注星标等。
解决这个问题的最佳方法是什么?
更新:我正在使用UICollectionViewCell。
滚动视图的设置方式如下:
我要做的是将阴沟视图带入:
当scrollView在x轴上达到-50时动画一个小星星。
我将这个视图放置在scrollView的内容边界的负片部分中的原因是为了让scrollView能够快速恢复原位。
更新2:我已经明白了。我很快就会接受我的回答。感谢大家的投入!
答案 0 :(得分:0)
我也有同样的问题,这是我的解决方案。
1:将视图添加到scrollview,而不是全屏。因为scrollview和tableview将调用触摸事件(ps:U可以触摸触摸事件中的触摸对象)。 就像这样:## Heading ##
2:U可以检测到用户触摸时间,例如&gt; = 3s调用scrollview另一个调用tableview。但那不如方法。
关于Tweetbot3 你只需将uiview和uipangesturerecognizer添加到coustom tableview单元格中。并试试这个SWTableViewCell
答案 1 :(得分:0)
您可以使用UIScrollViewDelegate method scrollViewDidScroll:
self.scrollView.delegate = self;
-(void)scrollViewDidScroll:(UIScrollView*)scrollView {
if (scrollView.contentOffset.x >= -50) {
// Animate the star
NSLog(@"Animate");
}
}
请注意动画,因为用户可以在contentOffset
50之间来回滚动,这可能会影响您的动画,具体取决于您的设置方式。
答案 2 :(得分:0)
if (lastOffset.x > -50 && scrollView.contentOffset.x <= -50) {
// Animate the star
NSLog(@"Animate");
}
我没有检查lastOffest.x是否大于-50,我正在检查它是否更少。