首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何让UIPageViewController to not clipToBounds

如何让UIPageViewController to not clipToBounds
EN

Stack Overflow用户
提问于 2015-05-14 01:59:58
回答 3查看 1.5K关注 0票数 5

我需要在UIPageViewController上覆盖一个UIView,并希望它能让我关闭clipsToBounds,然后将交互边界区域的大小调整为较小的高度,并在非交互/非裁剪区域的顶部放置另一个视图。

不幸的是,UIPageViewController以某种方式调整了childViewController的大小,无论如何,它都会裁剪它。

我想要的是这样的:

我如何才能做到这一点?我找不到这样做的示例,我确实尝试使用UICollectionViewController进行分页,但它不像UIPageViewController那样具有平滑的页面间隙。

EN

回答 3

Stack Overflow用户

发布于 2018-06-05 04:13:18

以下是我在Swift中的工作:

代码语言:javascript
复制
pageViewController.clipsToBounds = false
pageViewController.view.clipsToBounds = false
for view in pageViewController.view.subviews {
    view.clipsToBounds = false
}

类似于Vitaly的答案,但使用了一个循环来确保所有的子视图都得到了处理。

票数 6
EN

Stack Overflow用户

发布于 2016-02-08 18:11:04

UIPageViewController的视图在childViewController的实际视图之前的子视图层次结构中有另一个UIView (更准确地说是_UIQueuingScrollView)。因此,要禁用clipsToBounds,您应该这样做:

代码语言:javascript
复制
UIPageViewController *pageViewController = ...;
pageViewController.view.clipsToBounds = NO;
[[pageViewController.view subviews].firstObject setClipsToBounds:NO];
票数 5
EN

Stack Overflow用户

发布于 2020-06-28 00:53:53

好奇心...

如果页面视图控制器被设置为"curl“模式,实际上它无论如何都没有裁剪。谁知道呢?

解决方法..。

感谢Brian和Vitaly

代码语言:javascript
复制
class FixedPVC: UIPageViewController {
    
    override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        
        view.clipsToBounds = false
        for v in view.subviews { v.clipsToBounds = false }
    }

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

https://stackoverflow.com/questions/30222153

复制
相关文章

相似问题

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