0

我创建了一个 CGRect 为 x=160、y=186、width=1600、height=380 的视图(称为 masterView)。此视图包含 5 个子视图,每一个 iphone 屏幕宽 (360)。

我已经设置了一个带有分页的滚动视图,以便通过这个视图进行分页。当我运行该应用程序时,出现第 3 页,共 5 页,我可以在 5 之后在 3 - 5 + 2 个空白页之间自由翻页,但我无法分页到第 1 页和第 2 页。所以由于某种原因,masterView 被推到了左边2个屏幕宽度。如何更正其位置以使应用程序从第 1 页开始?

这是我的第一个应用程序。

我在视图控制器的 viewDidLoad 中加入了以下代码:

CGRect screenRect = CGRectMake(0, 0, 320, 380);

UIScrollView *scrollView2 = [[UIScrollView alloc] initWithFrame:screenRect];
[scrollView2 setDelegate:self];

CGRect bigRect = CGRectMake(0, 186, 1600, 380);
[scrollView2 setContentSize:bigRect.size];
[scrollView2 setPagingEnabled:YES];

[scrollView2 addSubview:masterview];
[[self view] addSubview:scrollView2];
4

1 回答 1

1

看看这个关于使用 aUIScrollView和 a 的优秀教程UIPageControl。它应该让你前进。

http://www.iosdevnotes.com/2011/03/uiscrollview-paging/

重要的是在viewDidLoad

for (int i = 0; i < colors.count; i++) {
    CGRect frame;
    frame.origin.x = self.scrollView.frame.size.width * i;
    frame.origin.y = 0;
    frame.size = self.scrollView.frame.size;

    UIView *subview = [[UIView alloc] initWithFrame:frame];
    subview.backgroundColor = [colors objectAtIndex:i];
    [self.scrollView addSubview:subview];
    [subview release];
}

尽管此代码示例使用ARC,但它仍然适用。请注意,每个子视图的框架由页码偏移self.scrollView.frame.size.width * i

祝你好运。

于 2013-07-24T13:14:51.270 回答