0

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

その後、もうスクロールできません。

4

1 に答える 1

0

スクロール ビューの高さを self.scrollView.contentSize.height に設定しているため、スクロール ビューは垂直にスクロールできません。self.scrollview.frame.height に変更してみてください。

于 2012-06-29T04:45:19.173 に答える