ios根据约束计算行高
来源:互联网 发布:手机探测仪软件 编辑:程序博客网 时间:2024/06/10 11:01
使用场景
有时候我们给一个View设置好底部自适应的约束后,并且在cell的header中,headerView的高度是由数据源方法决定的。所以我们必须在返回高度的这个方法里面,得到headerView的高度
代码如下
/// 传入你要计算的View的行高-(CGFloat)contentViewFittingSize:(UIView*)contentView{ // 获得父容器的宽度,我这里是获取控制器View的宽度 CGFloat contentViewWidth = CGRectGetWidth(self.view.frame); // 新建一个宽度约束 NSLayoutConstraint *widthFenceConstraint = [NSLayoutConstraint constraintWithItem:contentView attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1.0 constant:contentViewWidth]; // 添加宽度约束 [contentView addConstraint:widthFenceConstraint]; // 获取约束后的size CGSize fittingSize = [contentView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize]; // 记得移除 [contentView removeConstraint:widthFenceConstraint]; return fittingSize.height;}
步骤
一、View的约束高度要自适应
二、添加一个宽度约束
三、调用systemLayoutSizeFittingSize
0 0
- ios根据约束计算行高
- iOS 计算行高
- iOS 根据文字动态计算控件的宽高
- swift 根据字符串数量动态计算行高
- Label根据文本内容自动计算行高
- iOS Massonry约束自定义TableViewCell自适应行高的约束冲突的问题
- ios Tableview行高的计算
- ios label 自动计算行高详解
- ios-tableView自动计算行高
- iOS UITableView优化---计算/缓存行高
- ios-tableView的行高计算
- iOS 根据内容计算高度
- IOS根据date计算时间差
- 根据字符串计算UILabel的宽,高
- 根据文字计算label宽和高
- iOS计算字体宽和高
- IOS根据两个经纬度计算相距距离
- IOS根据两个经纬度计算相距距离
- Android ADB命令
- AtomicIntegerArray源码分析与感悟
- mysql limit
- 14.5.5.3 How to Minimize and Handle Deadlocks 如何减少和处理死锁
- chrome flash 安全沙箱冲突 SecurityError: Error #2148
- ios根据约束计算行高
- 使用Harbor搭建Docker私有镜像仓库服务
- Android利用Viewpager实现开场的loading页
- 利用SVN进行项目自动化部署_以Resin容
- linux 运维书籍
- Android开发环境搭建(JDK+SDK+Android Studio+Genymotion)
- jquery获取当前元素父元素的上一个元素
- 一起学Netty(十三)之 Netty简单的重连机制
- mysql