首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有覆盖内容的页面指示器的UIPaveViewController

具有覆盖内容的页面指示器的UIPaveViewController
EN

Stack Overflow用户
提问于 2015-08-13 20:50:41
回答 2查看 192关注 0票数 0

在我的应用程序中,我有一个包含UIPageViewController的屏幕。它占用了屏幕的一部分,所以我把它放到了容器应用程序中。

为了显示页面控制器,我执行以下操作

代码语言:javascript
复制
[self addChildViewController:self.pageController];
[self.pageContainerView addSubview:self.pageController.view];

为了使页面控制器适合容器视图的大小,我添加了约束(使用纯布局库)

代码语言:javascript
复制
- (void)updateViewConstraints {
    [super updateViewConstraints];

    if (!self.didUpdateConstraints) {

        [self.pageContainerView addConstraints:[self.pageController.view autoPinEdgesToSuperviewEdgesWithInsets:UIEdgeInsetsZero]];

        self.didUpdateConstraints = YES;
    }
}

这里一切都很好,除了一件事。

在内容控制器(显示在页面控制器内部)上,我有一个图像视图和两个标签。图像视图占据整个屏幕,标签覆盖图像视图。

我的假设是,在页面视图控制器中,图像视图也将占据容器视图的所有空间,并且页面指示器将覆盖图像视图。

实际上,页面指示器在图像视图下。这样,图像视图不会占用整个容器的空间,而是缩小到将页面指示器放在它下面。

有没有办法按我想要的方式做?也就是说,图像视图占据了容器的所有空间和覆盖它的页面指示器。

EN

回答 2

Stack Overflow用户

发布于 2015-08-13 21:06:23

我猜你需要重写- (void) viewDidLayoutSubviews {}来设置/更新页面容器内的图像视图或其他视图的约束。这个问题的原因是因为它从一开始就是一个自由的形式(any-any或其他),最后就在- (void) viewDidLayoutSubviews之前,它被调整到实际的设备屏幕大小。

票数 0
EN

Stack Overflow用户

发布于 2015-08-14 14:12:33

解决方案是-第三方库。我使用了MAPageViewController。https://github.com/mamaral/MAPageViewController

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31988774

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档