首页 > 解决方案 > 关于在 Swift 中按下按钮时更改 UIView 高度的问题

问题描述

我正在制作一个功能,当按下按钮时 UIView 的高度会增加和减少。

当 UIView 的高度减小时,该值在情节提要中创建一个布局,当 UIView 的高度增加时,该值将是 UITextView 的高度。

在此处输入图像描述

上图是 UIView 被拉伸之前的样子。按照片底部的按钮拉伸 UIView

在此处输入图像描述

上图是 UIView 被拉伸后的样子。如果按下上图底部的按钮,UIView 会再次缩小。

我首先好奇的是使 UIView 的高度增加的代码。

    @IBOutlet weak var bookInfoView: UIView!
    @IBOutlet weak var bookInfoVieweBtn: UIButton!
    @IBOutlet weak var bookInfoTextView: UITextView!

    @IBAction func bookInfoViewBtnTapped(_ sender: Any) {
        print("##bookInfoViewBtnTapped!")
        let f = bookInfoView.frame
        let textView = bookInfoTextView.frame
        bookInfoView.frame = CGRect(x: f.origin.x, y: f.origin.y, width: f.width, height:      textView.height)
    }

如果您使用上面的代码按下按钮,它什么也不做。我该怎么办?

标签: iosswift

解决方案


请按照以下步骤操作:-

  • 在情节提要中定义高度约束。
  • 创建高度约束的 IBOutlet
  • 然后按下按钮,增加/减少你的文本视图的高度,如: -

    textViewHeightConstant.constant = someValue
    

推荐阅读