アプリケーションにスクロール ビューがあり、ユーザーがそれを下にスクロールすると、その 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;
}];
その後、もうスクロールできません。