Objective c UIScrollView的适当内容大小,其中包含UIImageView

Objective c UIScrollView的适当内容大小,其中包含UIImageView,objective-c,ios,Objective C,Ios,我将UIImageView放在UIScrollView中,根据答案编写代码。我遇到的问题是底部和右侧有大量的空白,我无法滚动到顶部和左侧的一些图像。我想这是因为我错误地设置了scrollView的contentSize。以下是相关代码: - (void)viewDidLoad { [super viewDidLoad]; _imageView.image = _image; _imageView.bounds = CGRectMake(0, 0, _imageView.i

我将UIImageView放在UIScrollView中,根据答案编写代码。我遇到的问题是底部和右侧有大量的空白,我无法滚动到顶部和左侧的一些图像。我想这是因为我错误地设置了scrollView的contentSize。以下是相关代码:

- (void)viewDidLoad
{
    [super viewDidLoad];
    _imageView.image = _image;
    _imageView.bounds = CGRectMake(0, 0, _imageView.image.size.width,_imageView.image.size.height);
    _scroller.contentSize = _imageView.image.size;
 }

我所在的视图控制器有三个属性,一个UIScrollView(\u scroller)、一个UIImageView(\u imageView)和一个UIImage(\u image)。

您正在设置UIImageView的
边界
属性。您希望改为设置其
属性。设置边界将围绕其中心点调整其大小(假设未更改基础
CALayer
anchorPoint
属性),这将导致帧原点最终为负数,这就是您无法看到左上角的原因

_imageView.frame = CGRectMake(0, 0, _imageView.image.size.width, _imageView.image.size.height);

替代语法:

_imageView.frame = (CGRect){CGPointZero, _imageView.image.size};

您正在设置UIImageView的
bounds
属性。您希望改为设置其
属性。设置边界将围绕其中心点调整其大小(假设未更改基础
CALayer
anchorPoint
属性),这将导致帧原点最终为负数,这就是您无法看到左上角的原因

_imageView.frame = CGRectMake(0, 0, _imageView.image.size.width, _imageView.image.size.height);

替代语法:

_imageView.frame = (CGRect){CGPointZero, _imageView.image.size};

我认为应用了变换的视图的框架未定义,而UIScrollView应用了变换以放大?我认为应用了变换的视图的框架未定义,而UIScrollView应用了变换以放大?