首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >固定宽度,可变高度图像视图ios布局

固定宽度,可变高度图像视图ios布局
EN

Stack Overflow用户
提问于 2016-03-09 22:58:23
回答 5查看 8.3K关注 0票数 0

我想要一个宽度固定但高度可变的图像视图。如果我从网站上得到的图片比故事板中的图像还要高的话,我想要刷新视图,

这是当我使用“比例填充”的视图。

Postimg.org/image/61ol2pvz

这就是我使用“方面填充”的时候

postimg.org/image/9duw53q8f/

我希望图像在“方面填充”,但我不能正确地放置底部。

谢谢大家!

解决方案:

我给了我的图像宽度和高度限制。然后我用编程的方式改变了它。这就是我想要的风景,我让它运转起来了!

http://i.stack.imgur.com/PCgHw.png

代码语言:javascript
复制
let imageData = NSData(contentsOfURL: imgUrl)
let myImage = UIImage(data: imageData!)
let aspectRatio = (myImage?.size.height)! / (myImage?.size.width)!

self.postCombineImageViewHeight.constant = UIScreen.mainScreen().bounds.size.width * aspectRatio
self.postCombineImageViewWidth.constant = UIScreen.mainScreen().bounds.size.width

谢谢大家的帮助!

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2016-03-09 23:08:19

您可以在故事板中设置高度限制,然后在视图控制器中拖放约束IBOutlet,并在从网站获取图像视图时更改他的常量。

票数 2
EN

Stack Overflow用户

发布于 2016-03-10 06:14:33

您应该在IB中此图像视图的“属性检查器”中选择“剪辑子视图”(或者以编程方式设置图像视图的clipToBounds属性)。

例如,这是一个方形图像视图中显示的景观图像,其内容模型为“方面填充”,但“剪辑子视图”未选中(即将clipToBounds设置为false):

(我添加了一个红色的CAShapeLayer来显示UIImageViewframe在哪里。)

这是同一个图像视图,但选中了“剪辑子视图”(即clipToBounds属性为true):

或者,您可以选择“方面适合”,而不是“方面填充”,在这种情况下,整个图像将是可见的,不会被扭曲,但您可能最终在照片的边缘空白:

票数 4
EN

Stack Overflow用户

发布于 2017-03-14 05:25:40

您可以使用NSLayoutConstraint以编程方式进行此操作。

代码语言:javascript
复制
self.addConstraint(NSLayoutConstraint(
        item: myButton,
        attribute: .Width,
        relatedBy: .Equal,
        toItem: nil,
        attribute: .NotAnAttribute,
        multiplier: 1.0,
        constant: 200))

对于高度,您可以添加可变高度。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35904376

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档