高度的自动布局在 iOS 8 中工作但在 iOS 7 中不工作

Posted

技术标签:

【中文标题】高度的自动布局在 iOS 8 中工作但在 iOS 7 中不工作【英文标题】:Autolayout for Height working in iOS8 but not working in iOS7 【发布时间】:2015-08-08 04:49:28 【问题描述】:

我的 UIImageView 在视图中,它将从服务器下载图像,下载完成后,我的 UIImageView 高度将根据图像的高度进行调整,但问题是它在 ios8 中运行良好,但在 iOS7 中运行不正常。在 iOS7 中,高度缩放到比我尝试设置的要高得多。我正在通过 IB 设置自动布局

这是我的代码的摘录(默认为 250)

 if(image.size.height<250) headerView.itemImageView.contentMode =      UIViewContentModeCenter;
                 else


                   adjustedHeight =      image.size.height*320.0f/image.size.width;


                     imageHeight = adjustedHeight;

                     [headerView.heightContraintLayout setConstant:adjustedHeight];
                [headerView.itemImageView layoutIfNeeded];
 //after this line of code, I check the size of itemImageView is extended more than the adjestedHeight that I set in the previous line ( this only happened in iOS7 not iOS8

【问题讨论】:

【参考方案1】:

您将图像视图的内容模式设置为“中心”。

尝试根据您的需要将其设置为“Aspect Fill”或“Scale to Fill”。

【讨论】:

不,事实并非如此,因为我总是在 IB 中将 contentMode 设置为 AspectFit(IF 案例在正常情况下永远不会执行)。无论如何,我已经通过在 UIImageView 和 superView 的底部之间放置更多的 NSLayoutConstrainst 解决了这个问题。这种方式锁定了大小,不会产生垂直空白

以上是关于高度的自动布局在 iOS 8 中工作但在 iOS 7 中不工作的主要内容,如果未能解决你的问题,请参考以下文章

后台获取在模拟器中工作但在真实设备中不工作

CoreLocation 应用程序在模拟器中工作但不在设备上

iOS 自动布局 ios 7 与 ios 8

查询在 PHPMyAdmin 中工作但在 PHP 中不工作

Jquery 对象 innerHTML 在 Firefox 中工作但在 IE 中不工作?

NuxtJS:在开发中工作但在生产中工作的路由(netlify)