UIScrollView clipsToBounds 只能垂直应用吗?

Posted

技术标签:

【中文标题】UIScrollView clipsToBounds 只能垂直应用吗?【英文标题】:Can UIScrollView clipsToBounds be applied vertically only? 【发布时间】:2015-03-01 15:45:59 【问题描述】:

当我将 UIScrollView clipsToBounds 属性设置为 NO 时,它允许我在其边界之外水平显示内容视图。这就是我想要达到的目标。但它也允许滚动通过我不想要的上下边界。

(顺便说一句:我想要效果和图片一样,所以我不想水平扩展内容视图。)

【问题讨论】:

为什么要画到边界之外? @Wain:问题解决了, 【参考方案1】:

一种解决方案是将滚动视图嵌入到另一个视图中,该视图具有clipToBounds = NO,而滚动视图具有clipToBounds = YES,宽度等于显示的内容。

由于我不擅长图像,我尝试通过代码示例:

wrapperView.frame = CGRectMake(0, 0, 300, 300);
wrapperView.clipToBounds = NO;

scrollView.frame = CGRectMake(0, 0, 400, 300);
scrollView.clipToBounds = YES
[wrapperView addSubview:scrollView];

contentView.frame= CGRectMake(0, 0, 400, 1234); 
[scrollView addSubview:contentView];

【讨论】:

以上是关于UIScrollView clipsToBounds 只能垂直应用吗?的主要内容,如果未能解决你的问题,请参考以下文章

UIScrollView详解

怎么设置uiscrollview的分页大小

iOS利用UIScrollView的pagingEnabled自定义翻页宽度

iOS小知识点

clipsToBounds 是如何工作的?

clipsToBounds 与 masksToBounds 的区别与联系