0

ラベル付きのUIScrollViewがあります。タッチイベントのコーディネートを取得しています。ユーザーが画面をクリックしているときに、クリック座標を変数に保存している場合、クリックしたポイントのy座標がビューの中心になるように、ビューをスクロールします([myScrollView setContentOffset]などを使用)。 、したがって、テキストをクリックすると、画面の中央に自動スクロールされます。私はこれの数学をどのように解決するかわかりません...

どんな助けでも大歓迎です!

4

2 に答える 2

3
UIScrollView *aScrollView;      
CGPoint touchPoint;
[aScrollView scrollRectToVisible:CGRectMake(touchPoint.x - roundf(aScrollView.frame.size.width/2.),
                                                  touchPoint.y - roundf(aScrollView.frame.size.height/2.), 
                                                  aScrollView.frame.size.width, 
                                                  aScrollView.frame.size.height)  
                                                  animated:YES];

動作するはずです。

于 2012-04-24T08:19:06.543 に答える
0

私の解決策は非常に似ていますが、スケールを使用しており、タッチポイントではなくビューを中央に配置したいと考えています。そのため、最初に中心点を計算する必要があります。

私の最終的なコード:

UIView *view; //View to center
UIScrollView *scrollView; //scroll view

CGPoint point = CGPointMake(view.frame.origin.x + view.frame.size.width / 2, 
                            view.frame.origin.y + view.frame.size.height / 2);

CGRect rectToZoom = CGRectMake(point.x * scrollView.zoomScale - roundf(scrollView.frame.size.width /2.),
                               point.y * scrollView.zoomScale - roundf(scrollView.frame.size.height /2.),
                               scrollView.frame.size.width,
                               scrollView.frame.size.height);

[scrollView scrollRectToVisible:rectToZoom animated:YES];
于 2014-04-22T13:09:57.723 に答える