Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Swift中按下按钮时改变UIView高度的问题

在Swift中按下按钮时改变UIView高度的问题
EN

Stack Overflow用户
提问于 2020-04-05 22:14:25
回答 1查看 703关注 0票数 0

我正在做一个函数,当按下按钮时,UIView的高度会增加或减小。

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

上面的图片是在UIView被拉伸之前。按下照片底部的按钮来拉伸UIView

上面的图片是在UIView被拉伸之后。如果您按下上面图片底部的按钮,UIView将再次收缩。

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

代码语言:javascript
运行
AI代码解释
复制
    @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)
    }

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-05 22:38:08

1.为要展开的视图的高度设置一些默认值。然后,如果您正在使用StoryBoard,使一个IBOutlet到您的ViewConroller,并删除弱引用(这是因为我们将停用高度锚,如果它是弱的,如果您禁用它,圆弧将解除它。如果您要编程实现它,只需将高度锚点存储在局部变量中。所以它应该喜欢这样的东西:

代码语言:javascript
运行
AI代码解释
复制
@IBOutlet var yourViewHeightAnchor: NSLayoutConstraint!
  1. 将目标添加到按钮中,或者如果使用StoryBoard或Xib将IBAction拖到ViewController中。单击按钮时,您唯一的工作是关闭/激活高度锚点。(激活将用于崩溃)
代码语言:javascript
运行
AI代码解释
复制
@IBAction func expandClicked(_ sender: Any) {
    yourViewHeightAnchor.isActive.toggle()
}

如果您希望使用一些动画来展开/折叠,您的expandClicked函数应该如下所示:

代码语言:javascript
运行
AI代码解释
复制
@IBAction func expandClicked(_ sender: Any) {
    UIView.animate(withDuration: 0.6, animations: {
        self.yourViewHeightAnchor.isActive.toggle()
        self.view.layoutIfNeeded()
    })
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61053923

复制
相关文章
error信息显示状态下按钮按下时error不消失问题
当画面增加一个按钮,在输入框表示error状态下,按下按钮,error信息还是没有消失,即使在按下事件中已经设置了setCustomValidity()方法,还是没有起效。
repick
2021/11/25
1.7K0
error信息显示状态下按钮按下时error不消失问题
WPF 修改按钮按下的颜色
如何在按钮按下时使用这个附加属性修改按钮颜色?实际重写按钮的样式可以看到,在按下时可以修改颜色
林德熙
2018/09/19
6K0
WPF 修改按钮按下的颜色
WPF 修改按钮按下的颜色
如何在按钮按下时使用这个附加属性修改按钮颜色?实际重写按钮的样式可以看到,在按下时可以修改颜色
林德熙
2022/08/04
2.5K0
我的Js代码-按钮按下时判断是否选择了最后一行,给出提示
<script language="javascript"> <!-- function onsub() { //生成新月的字符串 var nian=Number(document.all("ListBox1",0).value.substring(0,4)); var yue=Number(document.all("ListBox1",0).value.substring(4,6)); if(yue==12)
用户1075292
2018/01/23
3.8K0
BootStrap-table刷新按钮与搜索框高度问题
<!DOCTYPE> 声明位于文档中的最前面的位置,处于 <html> 标签之前。
别团等shy哥发育
2023/02/25
1K0
BootStrap-table刷新按钮与搜索框高度问题
win10 uwp 获取按钮鼠标左键按下
我们可以使用PointerPressed获得鼠标右键按下,但是我们如何获得左键? UWP 左键按下经常获取不到,本文:如何获得鼠标按下
林德熙
2018/09/18
1.6K0
win10 uwp 获取按钮鼠标左键按下
我们可以使用PointerPressed获得鼠标右键按下,但是我们如何获得左键? UWP 左键按下经常获取不到,本文:如何获得鼠标按下
林德熙
2022/08/09
1.3K0
关于ViewPager高度自适应(随着pager页的高度改变Viewpager的高度)
第一次写博客还是技术性博客,为了回答CSDN上一位网友的问题,决定写一篇博客既帮助别人又帮助自己,经常看鸿洋大神,郭大神的博客,两位大神真是业界良心,不仅仅技术厉害,博客也写的让人一目了然,自身觉得自己内心知道的知识讲给别人或者是像这样写博客给别人看,让别人也了解,是一件很厉害的事。所以第一次写这种技术性博客,不知道看到的人是否能看懂得到一些启发,如果有什么不足的地方希望大家多多指正。
全栈程序员站长
2022/09/15
4.9K0
Linux命令行中按下d时发生了什么
在《Linux 中的主机、控制台和终端》中我们讨论了主机和终端的关系,unix系统正是基于这一理念设计的。虽然Linux和unix代码上不同,但是设计理念确是一脉相承的。所以对于Linux也同样适用。
mwangblog
2018/07/04
9470
iOS - Swift UISearchController的取消按钮
UISearchController�的取消按钮 关于UISearchController�的设置就不多说了,可以参考《UISearchController�仿微信搜索框》或者自行上网查找。 情况 本人想实现微信通讯录上方的搜索框功能,但在搜索框的取消按钮的设置这个卡住,在网上搜了个遍,没有�合适的做法,经过不懈的探索,终于找到解决方案,遂前来记录一下。 方案 添加两个属性 // 记录是否已经找到取消按钮 lazy var hasFindCancelBtn: Bool = { return fa
LinXunFeng
2018/06/29
9530
GCD 在 Swift 中的用法
Swift 中,对 GCD 语法进行了彻底改写。引入了 DispatchQueue 这个类。
零式的天空
2022/03/22
1.7K0
[C#]不通过事件方式获取键盘按钮按下的状态
源码来自:https://www.pinvoke.net/default.aspx/user32/GetKeyboardState.html
CNXY
2020/10/27
3.7K0
GCD 在 Swift 中的用法
DispatchQueue Swift 中,对 GCD 语法进行了彻底改写。引入了 DispatchQueue 这个类。 先来看看在一个异步队列中读取数据, 然后再返回主线程更新 UI, 这种操作在新的 Swift 语法中是这样的: DispatchQueue.global().async { DispatchQueue.main.async { // 更新UI操作 } } DispatchQueue.global().async 相当于使用全局队列进行异步操作。然
BY
2018/05/11
2.1K0
怎么改变按钮的图标
按钮的图标一开始很难看 所以要改 改变按钮图标的方法: javax.swing.AbstractButton中的方法 setContentAreaFilled(boolean) //是否填充区域,如果你的自定义图片不是矩形或存在空白边距,可以设为 false 使按钮看起来透明。 setBorderPainted(boolean) //是否绘制边框 setFocusPainted(boolean b) //是否绘制焦点(例如浅色虚线框或者加粗的边框表明按钮当前有焦点)。 s
用户1174983
2018/02/05
2.3K0
Swift专题讲解十六——ARC在Swift中的应用
        ARC(自动引用计数)是Objective-C和Swift中用于解决内存管理问题的方案。在学习Objective-C编程时经常会学习到一个关于ARC的例子:在一个公用的图书馆中,每次进入一人就将卡插入,走的时候将自己的卡拔出拿走。图书馆系统会判定只要有卡插入,就将图书馆的灯打开,当所有卡都被取走后,将图书馆的灯关掉。这个例子对应于Objective-C中的对象声明周期管理十分贴切。每当一个对象增加一个引用时,其引用计数会加1,当一个引用被取消时,对象的引用计数减1,当引用计数减为0时,说明此对象将不再有任何引用,对象会被释放掉,让出内存。Swift也采用同样的方式进行内存管理。
珲少
2018/08/15
1.5K0
Swift专题讲解十六——ARC在Swift中的应用
ModuleMap C 在swift中的使用
swift 有UNSafePoint的概念,但是不能够与C/C++直接交互,但是对于C/C++模块操作就需要进行一些改进那就是今天的主角moulemap啦。 要想使用你自己的C/C++按照 import的方式在swift使用那么你需要经历以下几个简单配置 1 当然是将对应的C/C++源码文件导入到swift项目中 2 配置modulemap啦 3 import 使用啦
大话swift
2019/07/04
3.2K0
ModuleMap C 在swift中的使用
iOS开发常用之网络
表相关与的TabBar SWTableViewCell - 国内开源作者,带很多手势的表单元格。 MCSwipeTableViewCell - 带很多手势的表单元格。 TMQuiltView - 瀑布流。 XRWaterfallLayout - 超简单的瀑布流实现,实现说明。 WaterfallFlowDemo - 一个简单的UICollectionView瀑布流布局演示demo。 XLForm - 很多表格类的表,写法更高冷一点,推荐使用。 Eureka.swift - Eur
GuangdongQi
2018/12/18
24.8K0
当鼠标按下时拖动元素,简单的JS实现
通过一个布尔值作为是否移动的标志,按下时为TRUE,代表跟随移动,鼠标松开为FALSE,代表不跟随移动,鼠标移动时改变元素偏移量。
房东的狗丶
2023/02/17
4K0
直播视频网站源码,按钮背景点击按下变色
以上就是直播视频网站源码,按钮背景点击按下变色的相关代码, 更多内容欢迎关注之后的文章
yunbaokeji柯基
2020/11/11
1.7K0
直播视频网站源码,按钮背景点击按下变色
点击加载更多

相似问题

Swift :按下按钮时改变按钮的样式,并重置其他按钮

21

在Swift中按下按钮时创建if语句

20

按一下按钮改变div高度的Javascript?

10

SWIFT3.0:按下按钮后改变颜色

12

按下按钮更新UIView

14
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档