如何以编程方式在UIScrollView中垂直居中UIImageView?

时间:2015-03-20 22:23:18

标签: ios objective-c

我有一个视图控制器,它将UIImageView置于UIView包装器中,然后将其放入UIScrollView。我需要将图像完全缩小并垂直居中。

视图控制器已实例化,并在600x600 UIPopoverController内显示。

这是我对视图控制器的代码:

- (void) loadView
{
    UIImageView *imageView = [[UIImageView alloc]initWithImage:self.image];
    UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:imageView.frame];



    scrollView.delegate = self;
    scrollView.bounces = NO;

    self.containerView = [[UIView alloc] initWithFrame:imageView.frame];


    [self.containerView addSubview:imageView];

    [scrollView addSubview:self.containerView];
    scrollView.minimumZoomScale = .4;
    scrollView.maximumZoomScale = 5.0;
    [scrollView setZoomScale:.4];


    self.view = scrollView;

}
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
    return self.containerView;
}

我尝试了很多东西来集中它,但它总是出现在滚动视图的顶部。

2 个答案:

答案 0 :(得分:0)

为UIScrollView使用ContentSize和ContentOffSet

答案 1 :(得分:0)

使用自动布局并将容器视图置于滚动视图中心。如果您需要有关自动布局的帮助,请使用https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/AutolayoutPG/Introduction/Introduction.html此链接。