我的应用程序中有一个滚动视图,我希望当用户向下滚动它时,它的 contentOffset.y 达到-50,滚动视图将动画到屏幕底部(此时滚动视图将不可见)。
我设法做到了这一点,但是当我将我的滚动视图动画化以使其再次可见时,它会丢失触摸事件并且不再滚动。
我已经尝试将 scrollEnabled 和 userInteractionEnabled 设置为 YES 但没有任何效果。如果有人可以提供帮助,我将不胜感激。
谢谢。
这是我将滚动视图动画到屏幕底部时的代码
[UIView animateWithDuration:0.5 animations:^
{
CGRect scrollRect = self.scrollView.frame;
CGRect newFrame = CGRectMake(scrollRect.origin.x, 367, scrollRect.size.width, self.scrollView.contentSize.height);
self.scrollView.frame = newFrame;
}
completion:^(BOOL finished)
{
self.navigationItem.leftBarButtonItem = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(doneButtonPressed:)] autorelease];
}];
这是我让我的滚动视图再次可见的代码
[UIView animateWithDuration:0.5 animations:^
{
CGRect scrollRect = self.scrollView.frame;
CGRect newFrame = CGRectMake(scrollRect.origin.x, 0, scrollRect.size.width, self.scrollView.contentSize.height);
self.scrollView.frame = newFrame;
}
completion:^(BOOL finished)
{
self.navigationItem.leftBarButtonItem = nil;
self.scrollView.scrollEnabled = YES;
self.scrollView.userInteractionEnabled = YES;
_canScroll = YES;
}];
之后我不能再滚动它了。