我在ScrollView中添加了3 UIViewController
,就像这样
[self addChildViewController:[self.storyboard instantiateViewControllerWithIdentifier:@"view1"]];
[self addChildViewController:[self.storyboard instantiateViewControllerWithIdentifier:@"view2"]];
[self addChildViewController:[self.storyboard instantiateViewControllerWithIdentifier:@"view3"]];
我怎样才能找到可见的内容?
答案 0 :(得分:0)
您只使用- (void)addChildViewController:(UIViewController *)childController
构建自己的包含视图控制器(例如您自己的tabBarController),而不是将子视图添加到滚动视图。有关视图控制器控制的更多信息,请阅读https://developer.apple.com/library/ios/featuredarticles/ViewControllerPGforiPhoneOS/CreatingCustomContainerViewControllers/CreatingCustomContainerViewControllers.html,有关简短摘要,请阅读When to use addChildViewController vs pushViewController
如果您想要向滚动视图添加视图,只需使用- (void)addSubview:(UIView *)view
(例如[self.scrollView addSubview:viewOfViewControllerWithIdentifierView1]
)即可。还要确保设置scrollviews contentSize和子视图框架。但是,如果您希望滚动视图在不同的视图控制器之间进行分页,我建议您查看UIPageViewController:https://developer.apple.com/library/ios/documentation/uikit/reference/UIPageViewControllerClassReferenceClassRef/UIPageViewControllerClassReference.html
答案 1 :(得分:0)
您可以通过计算滚动视图的contentoffset来检查这一点。为此,您必须添加Scrollview的Delegate Methode。
-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
page_control.currentPage=scrollView.contentOffset.x/320;
}
在上面的代码中我有多个宽度为320px的ChildView控制器意味着完整的iPhone屏幕宽度。 page_control 是我选择当前页面的页面控制器。
让我问如果你有任何困惑。