当用户更改为横向时,如何布局我的UIScrollView?

时间:2014-02-25 02:17:33

标签: ios objective-c cocoa-touch uiscrollview

我对景观改编很新。我的带有嵌入式UIImageView的UIScrollView在纵向上工作得很完美,但是当我切换到横向时,它非常混乱。

我尝试了以下内容:

- (void)viewDidLayoutSubviews {
    self.scrollView.frame = self.view.frame;
}

但这无济于事。当我旋转视图时,它仍然会将图像投射到左下角。

如何布局UIScrollView,这样当我切换到横向时,它会保持居中? (与Photos.app完全相同的行为是我正在努力的目标。)

在我的scrollViewDidZoom:我也有以下内容,如果相关的话(它会在用户滚动时保持居中):

CGRect newImageViewFrame = self.imageView.frame;

// Center horizontally
if (newImageViewFrame.size.width < CGRectGetWidth(scrollView.bounds)) {
    newImageViewFrame.origin.x = (CGRectGetWidth(scrollView.bounds) - CGRectGetWidth(self.imageView.frame)) / 2;
}
else {
    newImageViewFrame.origin.x = 0;
}

// Center vertically
if (newImageViewFrame.size.height < CGRectGetHeight(scrollView.bounds)) {
    newImageViewFrame.origin.y = (CGRectGetHeight(scrollView.bounds) - CGRectGetHeight(self.imageView.frame)) / 2;
}
else {
    newImageViewFrame.origin.y = 0;
}

self.imageView.frame = newImageViewFrame;

0 个答案:

没有答案