UIScrollView增加和居中内容

时间:2013-11-26 04:08:23

标签: ios objective-c uiscrollview

我有以下情况:我有一个UIViewController,里面有UIScrollView。此滚动视图的内容是“画布”,使用CoreGraphics绘制内容。此画布最终显示的图像类似于树结构,所有这些都以编程方式完成。我的问题是:我希望能够增加画布大小,以便旧图像位于新分配的画布大小的中间,然后这个新的画布大小应该是滚动视图内容,以便绘制周围的东西在新分配的边界并用。淘汰。

到目前为止,这就是我所拥有的:

在画布类中:

if (totalWidthOccupiedByChildren > totalSpaceAvailableDad) {
    CGSize newSize = CGSizeMake(self.frame.size.width*1.1, self.frame.size.height*1.1);
    self.frame = CGRectMake(0, 0, newSize.width, newSize.height);
    [self.delegate shouldIncreaseScrollView];
}

在ViewController类中:

-(void)shouldIncreaseScrollView{
    self.scrollView.contentSize = CGSizeMake(paintV.frame.size.width, paintV.frame.size.height);
}

这可以“正常”,画布和滚动视图都会增加,现在允许平移,但旧图像显示在左上角,我需要将其居中。知道怎么样?

2 个答案:

答案 0 :(得分:1)

最终对我有用的是重构我的架构,我有我需要的变量。但我最终设置的属性是scrollView.contentOffset,仅供将来参考:)

答案 1 :(得分:0)

你可以做的是,将所有内容放入UIView并将UIView添加到UIScrollView。您需要确保UIView.center等于UIScrollView.center。 此外,您还需要调整UIView帧大小以及UIScrollView大小。