2

複数のUIViewControllerを含む がありますUITableViews。ページコントロールを使用してスワイプできますUITableViews

現在、別UIViewControllerの場所で特定の に移動できますUITableView。以下のようにしています。私のprepareForSegue中でviewController私は を設定しましたpageNumber。それから私の他のUIViewController私はこれをやっています。

-(void)jumpToPage:(NSNumber *)page{
    NSLog(@"jump to page");
    float offset=30;
    float height = self.scrollView.bounds.size.height;
    float width = 320 - (2*offset);
    int pagee = [page intValue] - 1;
    float x  = (320 * pagee) + offset;

    NSLog(@"X is %f",x);
    [self.scrollView scrollRectToVisible:CGRectMake(x, 0, width , height) animated:NO];

}

これにより、 myUIScrollViewがスクロールできなくなりました。それが重要かどうかはわかりませんが、これは私が自分でやっていることですviewWillAppear

    -(void)viewWillAppear:(BOOL)animated{
        // Set up the content size of the scroll view
        CGSize pagesScrollViewSize = self.scrollView.frame.size;
        self.scrollView.contentSize = CGSizeMake(pagesScrollViewSize.width * self.pageStages.count, pagesScrollViewSize.height);
        [self loadVisiblePages];
        [self updateDay];

}

誰でもこれで私を助けることができますか??

編集

これを jumpToPage メソッドの最後に追加しました

   NSLog(@"content size is %d",320 * self.pageStages.count);
    self.scrollView.contentSize = CGSizeMake(320 * self.pageStages.count, self.scrollView.bounds.size.height);

しかし、これはまだ効果がありません。

4

2 に答える 2

7

必要に応じてフレームを設定すると、ページ コントロールで次のビューにアニメーション化されます

 [scrollview scrollRectToVisible:CGRectMake(320,  80,320, 350) animated:YES];
于 2013-06-21T08:18:21.683 に答える
0

スクロール ビューのコンテンツ サイズは、スクロール ビュー フレームより大きくする必要があります。フレームを超えるコンテンツがない場合、スクロール ビューはスクロールしません。

したがって、コンテンツ サイズの高さを増やして (垂直スクロールの場合)、水平スクロールの場合はその逆を試すことができます。

コンテンツの高さがスクロール フレームと同じである場合viewWillAppear、これは垂直スクロールに影響を与える可能性があると思われます。

お役に立てれば

于 2013-06-20T08:07:43.460 に答える