UIImage 返回错误的宽度

Posted

技术标签:

【中文标题】UIImage 返回错误的宽度【英文标题】:UIImage retutns wrong width 【发布时间】:2015-01-06 05:29:05 【问题描述】:

我有一个 UIImageView 并将它放在工具栏中。当我在模拟器上运行它时,图像会被拉伸。这意味着宽度以某种方式小于工具栏。这是我的代码:

UIImageView *imageNav = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0,
                     nav.frame.size.width, nav.frame.size.height)];

nav.image = [UIImage imageNamed:[imageTop objectAtIndex:0]];

这是输出。

http://postimg.org/image/rjirnmiyx/

黄色是工具栏,绿色的是图像。它不会填满工具栏。

更新

无论我做什么,它都会在右侧按比例缩小。 (如上图。)

我尝试了各种内容模式,但都归结为一件事。右手边的东西确实被毁了。

更新 2

我发现了问题!问题是 UIImageView 没有约束。有人可以帮我添加一个约束吗?

【问题讨论】:

尝试将imageNav模式设置为AspectFit 图片大小是多少? 大小为320 x 44,与工具栏大小相同 【参考方案1】:

你可以试试这个

[imageNav sizeToFit];

【讨论】:

【参考方案2】:
UIImage *image = [UIImage imageNamed:[imageTop objectAtIndex:0]]

UIImageView *imageNav = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0,
                 image.size.width, image.size.height)];

imageNav.image = image;

希望上面的代码 sn-p 有所帮助..

【讨论】:

它给了我同样的结果。我认为问题出在工具栏上。因为无论我做什么,图片都不会超过某个点 尝试在工具栏内添加弹性空间/固定空间。这将在左侧保留您的图像并在右侧添加空间。

以上是关于UIImage 返回错误的宽度的主要内容,如果未能解决你的问题,请参考以下文章

按宽度按比例调整 UIImage 的大小

UIImage 大小(宽度和高度)在旋转后减小

获取 UIImage 的大小(字节长度)而不是高度和宽度

使用 Autolayout 根据宽度的比率设置 UIImage 高度

从iphone中的固定宽度找到UIImage的比例高度

UIImage 未根据 UIImageView 大小宽度和高度调整大小