UIScrollView /添加xibs

时间:2013-05-10 03:21:26

标签: ios uiview uiscrollview xib

我正在尝试创建一个滚动视图并向其添加2个xib屏幕(SVPage1.xib和SVPage2.xib),以便我可以翻阅两个屏幕。

我创建了scrollview和Page Control对象。

这就是我在.m文件中的内容:

- (void)viewDidLoad
{
    [super viewDidLoad];

    NSArray *subviewArray = [[NSBundle mainBundle] loadNibNamed:@"SVPage1" owner:self options:nil];
    UIView *mainView = [subviewArray objectAtIndex:0];
    [self.scrollView addSubview:mainView];

    CGRect frame;
    frame.origin.x = self.scrollView.frame.size.width * 2;
    frame.origin.y = 0;
    frame.size = self.scrollView.frame.size;

    NSArray *subviewArray2 = [[NSBundle mainBundle] loadNibNamed:@"SVPage2" owner:self options:nil];
    UIView *mainView2 = [subviewArray2 objectAtIndex:0];
    [self.scrollView addSubview:mainView2];

    //Set the content size of our scrollview according to the total width of our imageView objects.
    scrollView.contentSize = CGSizeMake(mainView.frame.size.width * 3, mainView2.frame.size.height);
}

#pragma mark - UIScrollView Delegate
- (void)scrollViewDidScroll:(UIScrollView *)sender
{
    // Update the page when more than 50% of the previous/next page is visible
    CGFloat pageWidth = self.scrollView.frame.size.width;
    int page = floor((self.scrollView.contentOffset.x - pageWidth / 2) / pageWidth) + 1;
    self.pageControl.currentPage = page;
}

我相信当我加载第二个xib文件时,我将它加载到第一个文件上。

当我运行程序时,我在屏幕上看到第二个xib文件,当我翻阅其他页面时,它们是空白的。我想我正在尝试添加第二个.xib ......

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

基本上,当您创建视图时,它的原点设置为(0,0)。我想你只是忘了将第二个视图框架的原点设置为变量

mainView2.frame = frame;