更改ScrollView的边界会改变其位置

时间:2014-04-02 18:48:39

标签: ios iphone uiview uiscrollview cliptobounds

我有一个scrollview。我需要添加另一个视图作为此scrollview的子视图。子视图框架是

(-13,20,200,90)

因此,在将此视图添加到scrollview时,如果子视图原点为负,则子视图的某些部分会被剪切。

作为解决方案,我尝试设置

[scrollView setClipToBounds:NO]

但是这会导致scrollview中的内容溢出scrollview框架之外。

作为下一步,我尝试像这样更改滚动视图的边界

CGRect rect = container.scroller.bounds;
container.scroller.bounds = CGRectMake(rect.origin.x-205, rect.origin.y, rect.size.width+205, rect.size.height);

但是这会将scrollviews位置向右移动。

基本上我想在UIScrollview的可绘制区域之外添加一个项目而不会剪切子视图。

我如何在IOS中实现这一目标?

2 个答案:

答案 0 :(得分:0)

在self.view中添加内容而不是scrollView

答案 1 :(得分:0)

宽度必须增加为x倍偏移量。因此,如果您将边界向左移动205,则必须将宽度增加410以使其保持居中。

original:
----===----
result:
---====----
intent:
---=====---