ios - 关于在 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)
}
如果您使用上面的代码按下按钮,它什么也不做。我该怎么办?
解决方案
请按照以下步骤操作:-
- 在情节提要中定义高度约束。
- 创建高度约束的 IBOutlet
然后按下按钮,增加/减少你的文本视图的高度,如: -
textViewHeightConstant.constant = someValue
推荐阅读
- gltf - 使用 gltf-transform 合并具有一些公共节点的多个 GLTF
- reactjs - 如何在相同的元素上结合 React-Spring useTrail 和 useTransition?
- powershell - Windows Powershell - 格式化 gci 输出
- excel - 将行平均分成工作表
- javascript - 在 GitHub Pages 上更新 React 应用程序的最短路径是什么?
- c++ - 使用附加谓词参数替代 std::set_union 用于合并来自交集的元素
- node.js - 授权。尝试在 Azure 上查询我的 PostgreSQL 时出错
- latex - 如何减少 TikZposter 中 2 个块之间的空间?
- c++ - 写入 WAV 文件 C++
- xml - 完成后将变量保存在 .awk 文件中以供下次运行