gpt4 book ai didi

ios - subview 的大小不等于它的父 View

转载 作者:行者123 更新时间:2023-11-28 15:53:45 25 4
gpt4 key购买 nike

问题:

黄色部分是 subview ( subview 是UIImageView,父 View 是UIView。),它的大小应该和它的父 View (灰色部分)一样,我应该怎么办做什么来解决这个问题?

屏幕图像:

代码如下:

var linkedMemory = Memory(masteryLevel: 1, algorithm: Algorithm.algorithm1.chooseAlgorithm(), forgetRatio: 0, lastStudyTime: Date(), front: #imageLiteral(resourceName: "Ideas-Yellow"), back: #imageLiteral(resourceName: "Ideas-Blue"))

var frontView: UIView {
let front = showContent(of: linkedMemory.front)
return front
}

convenience init(memory: Memory) {
self.init(frame: CGRect())
self.linkedMemory = memory
self.setupView()
}

override init(frame: CGRect) {
super.init(frame: frame)
}

required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
setupView()
}

func setupView() {
self.layer.cornerRadius = 20
self.layer.shadowRadius = 12
self.layer.shadowOpacity = 0.15
self.layer.masksToBounds = true
addGesture()
sizeNAddSubview(view: frontView)
}

func sizeNAddSubview(view: UIView) {
view.frame.size = self.bounds.size
addSubview(view)
}

func showContent(of linkenMemory: Any) -> UIView {
var contentView = UIView()
if let content = linkenMemory as? UIImage {
let imageView = UIImageView()
imageView.image = content
contentView = imageView
}
if let content = linkedMemory as? String {
let label = UILabel()
label.centerYAnchor.constraint(equalTo: self.centerYAnchor).isActive = true
label.centerXAnchor.constraint(equalTo: self.centerXAnchor).isActive = true
let text = content
label.text = text
contentView = label
}
return contentView
}

约束条件如下:

最佳答案

您可以将约束条件作为父 View 的等高和等宽[或者] 如果您在布局传递之前设置此 View , super View 的大小将不是实际大小,因此您必须将代码移动到 viewDidAppear()viewDidLayoutSubviews()

关于ios - subview 的大小不等于它的父 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42019313/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com