我正在尝试创建一个滚动视图并向其添加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 ......
有什么想法吗?
答案 0 :(得分:1)
基本上,当您创建视图时,它的原点设置为(0,0)。我想你只是忘了将第二个视图框架的原点设置为变量
mainView2.frame = frame;