Objective c UIScrollView的适当内容大小,其中包含UIImageView
我将UIImageView放在UIScrollView中,根据答案编写代码。我遇到的问题是底部和右侧有大量的空白,我无法滚动到顶部和左侧的一些图像。我想这是因为我错误地设置了scrollView的contentSize。以下是相关代码: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
- (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应用了变换以放大?