在 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

在具有较大 contentSize 的 UIScrollView 中居中 UIImageView

以编程方式在 UIScrollView 中居中子视图

如何让文本在可滚动的 UILabel 中居中?