滚动到UIScrollView中的位置

时间:2013-06-20 08:00:46

标签: iphone ios objective-c uiscrollview uipagecontrol

我有UIViewController,其中包含多个UITableViews。您可以使用页面控件轻扫UITableViews

现在在另一个UIViewController中,您可以导航到某个UITableView。我这样做如下。在prepareForSegue的{​​{1}}中,我设置了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]; } 不再可滚动。 我不知道它是否重要,但这就是我在UIScrollView

中所做的
viewWillAppear

任何人都可以帮我吗?

修改

我在jumpToPage方法

的末尾添加了这个
    -(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];

}

但这仍然没有效果。

2 个答案:

答案 0 :(得分:7)

您可以根据需要设置框架,并通过页面控制动画显示下一个视图

 [scrollview scrollRectToVisible:CGRectMake(320,  80,320, 350) animated:YES];

答案 1 :(得分:0)

滚动视图的内容大小应该大于滚动视图框。如果框架之外没有内容滚动视图将不会滚动。

因此,您可以尝试增加内容大小的高度(对于垂直滚动),反之亦然,以增加水平。

如果您在viewWillAppear中观察到内容高度与滚动框架相同。我怀疑这可能会影响垂直滚动。

希望这有帮助