在 UIScrollView 中居中 UIImageView
Posted
技术标签:
【中文标题】在 UIScrollView 中居中 UIImageView【英文标题】:Centering a UIImageView inside a UIScrollView 【发布时间】:2013-05-02 20:26:14 【问题描述】:我正在尝试将 UIImageView 置于滚动视图的中心。这是我尝试的代码,但没有结果。
UIImageView *iv = [[UIImageView alloc] initWithImage:[UIImage imageNamed:kReceiptDetailScrollViewBackgroundCornered]];
[iv setContentMode:UIViewContentModeCenter];
[[self scrollView] insertSubview:iv atIndex:0];
有人知道这是怎么回事吗?
【问题讨论】:
【参考方案1】:您将图像视图的内容模式设置为居中,这意味着图像不会缩放,并且可以大于显示它的图像视图。
UIImage *image = [UIImage imageNamed: kReceiptDetailScrollViewBackgroundCornered];
UIImageView *iv = [[UIImageView alloc] initWithImage: image];
iv.contentMode = UIViewContentModeScaleAspectFit;
iv.frame = [self scrollView].bounds;
[[self scrollView] addSubview: iv];
【讨论】:
图片实际上比scrollview小,这样还能用吗? 是的,它会起作用的。如果您希望图像填满整个滚动视图,请尝试将contentMode
设置为UIViewContentModeScaleToFill
。
当我尝试上面的代码时,图像仍然被拉伸,它的方面现在与滚动视图的方面相匹配。我想保持图像的现有外观并将其设置在滚动视图的中间。
那么就在我原来贴的代码中使用 UIViewContentModeCenter。以上是关于在 UIScrollView 中居中 UIImageView的主要内容,如果未能解决你的问题,请参考以下文章
在 UIScrollView 中居中 UIImageView
swift-无法使用 AutoLayout 在 UIScrollView 中居中 UIImageView
使用 AutoLayout 在 UIScrollView 中居中固定 UIView