gpt4 book ai didi

ios - 在堆栈 View 中调整 UIView 的大小

转载 作者:行者123 更新时间:2023-11-28 08:02:24 25 4
gpt4 key购买 nike

我需要帮助来完成这个:

  1. 这是一组 3 张照片。第一张照片是点击前的按钮屏幕,第二张照片是点击后的屏幕,第三张照片是我在 IB 中使用 stackview 设计的方式 screenshot

我一直在尝试创建这个,这是我到目前为止得到的结果。由于这个原因,我仍然没有创建任何东西,如 点击按钮后 图像所示:

  1. 我现在的结果

    Screenshot

当我按下按钮时,您可以在 gif 中看到,UIView height constraint.constant 设置为更高的值,并且 UIView 变得更高。我只想要剥离的背景也变得更高。

这是 View 在 IB 中的处理方式。

最后,这是我编码的方式


    class LetterScreenViewController: UIViewController, ResizeWordViewDelegate {

@IBOutlet weak var youTubeView: YouTubeView!
@IBOutlet weak var phonemeView: PhonemeView!
@IBOutlet weak var wordView: WordView!

var letterPresenter: LetterPresenter?

@IBOutlet weak var heightWordViewConstraint: NSLayoutConstraint!

override func viewDidLoad() {
super.viewDidLoad()
delegateWordObj()
if let presenter = letterPresenter {
presenter.setupView()
}
}

@IBAction func dismissLetter(_ sender: Any) {
dismiss(animated: true, completion: nil)
}
func delegateWordObj() {
wordView.resizeWordViewDelegate = self
}
func didPressButton() {
if heightWordViewConstraint.constant <= 0 {
heightWordViewConstraint.constant = 30
}else{
heightWordViewConstraint.constant = 0
}
}
}

import UIKit
protocol ResizeWordViewDelegate {
func didPressButton()
}
class WordView: UIView {

@IBOutlet weak var backgroundListras: UIImageView!
@IBOutlet var WordView: UIView!

@IBOutlet weak var showWordButton: UIButton!

var resizeWordViewDelegate: ResizeWordViewDelegate!

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

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


func xibInit() {
Bundle.main.loadNibNamed("WordView", owner: self, options: nil)
addSubview(WordView)
WordView.frame = self.bounds
WordView.round(corners: [.topLeft,.topRight], radius: 120)
WordView.autoresizingMask = [.flexibleHeight, .flexibleWidth]
}

@IBAction func showWordButtonAction(_ sender: Any) {
resizeWordViewDelegate.didPressButton()
self.frame.size = CGSize(width: 375, height: 200)
self.backgroundListras.frame.size = CGSize(width: 375, height: 200)
}

}

我想知道一种调整此 UIView 及其中所有内容的大小的方法。在找到增加高度的解决方案后,我将能够在按下按钮时显示所有其他组件。

最佳答案

我相信您的目标是创建这样的东西:

enter image description here

我所要做的就是以编程方式更改约束的高度

检查下面项目中的解决方案:

https://gitlab.com/DanielLimaDF/ResizeTest.git

重要:提防 addSubview,如果约束是在调用 addSubview 之前创建的,它可以从 View 中删除约束

关于ios - 在堆栈 View 中调整 UIView 的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46268794/

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