以编程方式更改 UIImageView Xcode Swift 的高度和宽度

Posted

技术标签:

【中文标题】以编程方式更改 UIImageView Xcode Swift 的高度和宽度【英文标题】:Programmatically change the height and width of a UIImageView Xcode Swift 【发布时间】:2015-07-10 16:30:36 【问题描述】:

嘿,由于某种原因,我正在努力尝试设置我的一个图像视图的高度和宽度。我想设置它,这样高度只占我屏幕的 20%。我知道要定期设置它,您可以执行以下操作: 图像 = (0,0,50,50)

但我需要高度不是静态数字。 像 image = (0,0, frame.height * 0.2, 50)

有什么建议吗?

【问题讨论】:

【参考方案1】:

Swift 3 中公认的答案:

let screenSize: CGRect = UIScreen.main.bounds
image.frame = CGRect(x: 0, y: 0, width: 50, height: screenSize.height * 0.2)

【讨论】:

人谢谢你屏幕的东西修复了 imageView 不遵守 .scaleAspectFit 规则【参考方案2】:
let screenSize: CGRect = UIScreen.mainScreen().bounds
image.frame = CGRectMake(0,0, screenSize.height * 0.2, 50)

【讨论】:

你也可以这样写上面的代码image.frame = CGRect(0,0, screenSize.height * 0.2, 50) 不同的是这样看起来更快捷。 CGRectMake 是 Objective-C 风格【参考方案3】:

使用自动查看

image.heightAnchor.constraint(equalToConstant: CGFloat(8)).isActive = true

【讨论】:

这对我来说是一个合适的答案【参考方案4】:

嘿,我很快就知道了。由于某种原因,我只是在放屁。

image.frame = CGRectMake(0 , 0, self.view.frame.width, self.view.frame.height * 0.2)

【讨论】:

【参考方案5】:

更改UIView 的高度和/或宽度的更快/替代方法是通过frame.size 设置其宽度/高度:

let neededHeight = UIScreen.main.bounds.height * 0.2
yourView.frame.size.height = neededHeight

【讨论】:

【参考方案6】:

你可以使用这个代码

var imageView = UIImageView(image: UIImage(name:"imageName"));
imageView.frame = CGrectMake(x,y imageView.frame.width*0.2,50);

var imageView = UIImageView(frame:CGrectMake(x,y, self.view.frame.size.width *0.2, 50)

【讨论】:

【参考方案7】:

imageView 是主视图的子视图。它是这样工作的

image.frame = CGRectMake(0 , 0, super.view.frame.width, super.view.frame.height * 0.2)

【讨论】:

以上是关于以编程方式更改 UIImageView Xcode Swift 的高度和宽度的主要内容,如果未能解决你的问题,请参考以下文章

如何以编程方式在 Swift 中将 uiimageview 设置为 xcode 内置的 applewatch 图标图像?

UIImageView 不会以编程方式更改尺寸

如何以编程方式更改 UIImageView 的高度?

以编程方式更改 UIImageView 帧大小

如何以编程方式更改使用自动布局在情节提要上创建的 UIImageView 的大小?

UITapGestureRecognizer 未触发以编程方式创建的 UIImageView