约束冲突问题总结

如何避免产生约束问题

1. 不要试图用masonry去更新xib的约束

原因:masonry内部会判断如果是系统的约束就不处理,反而添加了新的约束,这样必然会出现约束冲突问题。

2. tableHeaderView约束优先级要降低

原因:我们要创建一个view让tableHeaderView=view,并在view上添加子的我们需要的那个整体view。然后约束时候要降低优先级。这样当tableHeaderView在height=0瞬间不至于约束出问题。

3. tableView使用估计高度时候要降低更新高度的约束优先级

原因: 在使用tableView估计高度时候,系统会自动计算出cell的高度并给UITableViewCellContentView添加一个高度的约束。当重用时候我们更新了cell子视图的高度导致整个cell高度变高和一开始的系统自动计算的高度约束冲突。这时候我们降低更新的子视图的高度约束的优先级可以避免和之前系统计算出来的cell高度约束冲突。

4. 当一行布局了多个lab时候要添加两者的横向约束并设置好相应的抗压缩抗拉伸优先级

原因:一行布局多个lab时候如果我们不设置两个lab之间的约束,那么当两个lab要显示很长的文字时候会出现两个lab重叠现象,我们当然不希望用户看到这种显现象,所以两个lab中间一定要设置约束距离。

当我们设置了两个lab之间的约束距离后就要设置好两个lab的抗压缩抗拉伸优先级。因为lab有自动适应尺寸的特性。所以我们利用抗拉伸优先级来控制允许哪个lab的文字宽度小于控件自身高度,当然抗拉伸优先级较低的lab的文字宽度会小于控件本身的宽度。(如果不设置,系统将不知道到底哪个lab文字宽度可以小于控件自身的宽度,所以就出现了约束警告问题,图层中会有叹号)

之后我们要设置好相应的抗压缩优先级,决定当文字多的情况下,到底哪个要进行压缩显示省略号,当然抗压缩优先级小的那个要显示省略号。

默认的抗拉伸优先级大小是250(UILayoutPriorityDefaultLow)。
默认的抗压缩优先级大小是750UILayoutPriorityDefaultHigh)
还有两位两个优先级的宏可以用(UILayoutPriorityFittingSizeLevel=50),(UILayoutPriorityRequired=1000)

如果产生约束问题如何解决

1. 如果控制台打印约束警告问题,并试图打破哪个约束来解决问题,界面又显示的正常
  1. 是不是用masonry更新了xib的约束导致了新增一个冲突的约束。这时候要用xib拖约束方式更新值。
  2. 是不是系统导致一瞬间tableHeaderView.height=0导致了约束冲突。这时候要降低约束优先级
  3. 是不是使用tableView的估计高度来自动适应cell行高,但是认为的更新了cell子视图的高度。这时候也要降低更新高度约束的优先级。
2. 查看图层看到右上角有约束警告叹号
  1. 查看布局中是不是一行有多个lab这种自动适应尺寸的控件,但是没有设置好抗压缩抗拉伸优先级。这时候要设置好相应的抗压缩抗拉伸优先级。约束冲突问题总结

转载于:https://juejin.im/post/5cf0f2696fb9a07eb74b22f8

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
0. ABAQUS入门资料 4 1. 论坛提问要诀 5 2. 故障诊断基本方法 5 3. 约束刚体位移 / NUMERICAL SINGULARITY 6 4.过约束(Overconstraint) 8 5.其他常见error和warning信息 9 6.ABAQUS无法正常运行(安装、License、环境变量) 13 6.1 ABAQUS安装方法 13 6.2 ABAQUS显示异常(无法显示栅格、显卡冲突、更改界颜色) 22 6.3 Document无法搜索 23 6.4 磁盘空间不足 23 6.5 Linux系统 24 6.6 死机后恢复模型 24 7.弹塑性分析 25 7.1 塑性问题不收敛的常见现象 25 7.2 接触问题和塑性材料不要用二阶单元 25 7.3 不要在塑性材料上施加点载荷 26 7.4 塑性材料参数 26 7.5 屈服准则 31 7.6 后处理 / 判断材料是否屈服 33 7.7 切削 34 7.8 材料非线性实验与FEM的比较 35 8. 接触分析 36 8.0 接触分析的基本概念 36 8.1 接触分析不收敛的常见现象和解决方法 37 8.2 接触上的网格密度 38 8.3 接触的定义 40 8.4 过盈接触 41 8.5 管土/桩土接触 43 8.6 板料成形的接触问题 49 8.7 凹坑成型的接触问题 54 8.8 刚体穿透 57 8.9 接触力 57 8.10 Explicit中的接触问题 58 8.11 改变接触状态 60 8.12 其他与接触有关的Error和Warning信息 62 9. 各个量的单位 62 9.1 各个量的单位要相互一致 63 9.2 时间/增量步的含义 65 10.导入 / 修改 / 求解inp文件 66 10.1 把inp文件导入ABAQUS/CAE 66 10.2 运行inp文件 67 10.3 修改inp文件 68 11.用户子程序和FORTRAN 71 11.1 运行用户子程序时出错 / FORTRAN版本 71 11.2 用户子程序入门资料 72 11.3 用户材料UMAT 74 12.创建/修改part 75 13.在Assembly中定位 76 14.划分网格 77 14.1 提示信息: 严重扭曲的单元 / 单元体积为0 77 14.2 划分网格和布置种子的技巧 79 14.3 网格重划 82 14.4 从orphan mesh中抽出几何 82 15.选择单元类型 83 16.截属性和材料 85 16.1 定义截属性 85 16.2 用OFFSET参数偏置shell的中性 86 16.3 材料属性 86 17.载荷 / 速度场 88 17.1 集中力 88 17.2 线载荷 90 17.3 载荷 90 17.4 Body Force / Gravity 92 17.5 随时间变化的载荷 / Amplitude 92 17.6 在实体单元上施加弯矩 / 旋转速度 96 18.边界条件 100 19.定义Set / 选取模型的局部 102 20.弹簧 103 21.约束(coupling, tie) 104 22.后处理 106 22.1 显示局部坐标系上的结果 106 22.2 绘制曲线(X–Y data) 106 22.3 field output / history output 108 22.4 显示结果 108 22.5 shell和beam的应力应变结果 113 23.多步骤分析 114 23.1 重启动分析(Restart) 114 23.2 子模型(Submodel) 115 23.3 用 *import 把计算结果传递到下一个过程中 116 24.岩土分析 116 24.0 岩土分析入门资料 116 24.1 初始地应力平衡 118 24.2 基坑开挖 122 24.3 钢筋混凝土(Rebar Layer和Embedded Element) 122 24.4 实体单元的截力/弯矩/转角 125 24.5 软土固结 127 24.6 无限元 128 24.7 岩土本构模型 129 25.热分析 129 26.动态分析 135 26.0 静态分析还是动态分析 135 26.1 Explicit分析 138 26.2 分析结果与amplitude不一致 139 26.3 固有频率 140 26.4 *DYNAMIC分析 141 26.5 动态分析还是静态分析 141 27.屈曲分析 142 28.材料失效破坏 / 裂纹 144 28.1 材料失效 144 28.2 裂纹 145 28.3 Cohesive单元 147 29.连接单元(CONNECTOR) 149 30.惯性释放(INERTIA RELIEF) 149 31.非线性问题的算法 149 32.ABAQUS和其它软件的比较 150 33.使用ABAQUS帮助手册 151 34.论坛的“全文搜索”功能 152 35.关于找抢手 152

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值