2 o 1001 o O_1001_O 于 2013.06.28 10:20 提问

ScrollView中多个ViewController

在UIScrollView中执行多个UIViewControllers,我手动初始化了UIViewController,并且将它们作为子视图添加到Scrollview,至此都一切正常。但是scrollview滚动只能显示一个UIViewController,再多一个也不行。

怎么会这样?请帮忙找一下原因

DTArticle *article = [self.articles objectAtIndex:0];
DTArticle *article2 = [self.articles objectAtIndex:1];
UIStoryboard *mainStoryBoard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:nil];
DTArticleViewController *controller = [mainStoryBoard instantiateViewControllerWithIdentifier:@"DTArticleViewController"];
DTArticleViewController *controller2 = [mainStoryBoard instantiateViewControllerWithIdentifier:@"DTArticleViewController"];
controller.article = article;
controller2.article = article2;    

[self.parentScrollView addSubview:controller.view];
[self.parentScrollView addSubview:controller2.view];
self.parentScrollView.contentSize = CGSizeMake(self.parentScrollView.frame.size.width
                                               * 2, self.parentScrollView.frame.size.height);
self.parentScrollView.showsHorizontalScrollIndicator = YES;
[self.parentScrollView setPagingEnabled:YES];
[self.view addSubview:self.parentScrollView];

1个回答

zhanglei5415
zhanglei5415   Rxr 2013.06.28 14:10
已采纳

在将两个viewController的view添加到srcollview中时,需要设置这两个控制器的view在uiscrollview中的显示的位置,说白了,就是在addsubview之前,先将两个控制器的view的frame重新设置,指定。
像你上面的代码,肯定只会显示一个控制器的view.原因是另一个视图会被最后添加的那个视图覆盖住。

zrocky123
zrocky123 回复qq_34096239: 在控制器中用 self.view.frame
接近 2 年之前 回复
zrocky123
zrocky123 回复qq_34096239: 在控制器中用 self.view.frame
接近 2 年之前 回复
zrocky123
zrocky123 回复qq_34096239: 在控制器中用 self.view.frame
接近 2 年之前 回复
zrocky123
zrocky123 回复qq_34096239: 在控制器中用 self.view.frame
接近 2 年之前 回复
zrocky123
zrocky123 回复qq_34096239: 在控制器中用 self.view.frame
接近 2 年之前 回复
qq_34096239
qq_34096239 那frame怎么重新设定啊
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!