AspectFill 不填充 UIImageView
Posted
技术标签:
【中文标题】AspectFill 不填充 UIImageView【英文标题】:AspectFill does not fill the UIImageView 【发布时间】:2014-06-20 14:14:59 【问题描述】:我有一个将contentMode
设置为UIViewContentModeScaleAspectFill
的按钮。我是这样设置的:
self.itemImage.imageView.contentMode = UIViewContentModeScaleAspectFill;
我还将它设置为模式 - 为按钮在 IB 中填充方面,以防万一。当我设置图像时,我不设置为背景图像:
[self.itemImage setImage:image forState:UIControlStateNormal];
但是,有时我的图像不会填充按钮(我希望它这样做),就像在这种情况下:
查看两边的灰色空间。发生在 ios 6 和 7 上。
有什么想法吗?
【问题讨论】:
itemImage 是我的 UIButton 名称 使用 self.itemImage.contentMode = UIViewContentModeScaleAspectFill; [self.itemImage setBackgroundImage:forState:]. UIButton 的图像只是按钮的一部分。如果您设置图像和文本,它们将彼此相邻出现。您可以尝试摆脱间距,但那将是 hack-ish。 @Klass,我不使用任何文字,只使用图像。它适用于完全相同的其他按钮。会不会是图片比按钮框小?话虽如此,ScaleAspectFill 不应该缩放图像以填充按钮吗? 如果我将其设置为backgroundImage,图像会填充按钮,但会被拉伸,并且不会保持原来的纵横比。 backgroundImage 的 contentMode 可以单独控制吗? 【参考方案1】:终于,我设法在 Alfie 对this SO question 的回答中找到了可行的解决方案。
简而言之,如果您的UIButton
(或其隐藏的imageView
)没有响应contentMode
,请使用此代码:
self.button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentFill;
self.button.contentVerticalAlignment = UIControlContentVerticalAlignmentFill;
【讨论】:
以上是关于AspectFill 不填充 UIImageView的主要内容,如果未能解决你的问题,请参考以下文章
自定义 UITableViewCell 中的 PFImageView 使用 contentMode“AspectFill”显示不正确