swift 第七课 xib 约束的优先级
前期要实现 一个自适应的label 的时候,就知到xib 约束是有优先级的,一直为深入研究;
乘写这个 博客的机会 ,试验下xib 约束的等级 ……
抱歉要查资料,在重新实践,先把主要浏览的网页 连接公布下
http://www.jianshu.com/p/f83fa37fdd46http://www.jianshu.com/p/f83fa37fdd46
现在开始行动……
首先截个图好了:
在vc 上直接 xib label(为什么用label?->因为label 容易直接容纳文字~文字是不是省略了,更容易被观察到)
Content Hugging Priority
--"内容的抗拉伸的优先级",水平、竖直默认值都是 251,
Content Compression Resistance Priority
-- "内容抗压缩的优先级",水平、竖直默认值都是 750
那么,试验开始:
首先,把一大串的文字写在label 上,呈现的结果是:
总结:抗压缩能力 :
当约束优先级 < 默认值 时,展示内容 可以向约束小的那个方向扩展,显示更多的内容;
当 约束优先级 >= 默认值 时,就没有这个 特性了
其次,label 展示 很少的内容,但是把label 的视图设置 很大,呈现的结果:
总结: 抗拉伸能力:
当约束等级 < 默认值 时,展示的内容 变小,显示更合理的范围
当约束等级 >= 默认值 时,没有这个特性了
好了,约束的优先级,粗略的搞懂了 这几个问题,现在就可以做几个Demo了,曾经的好多问题也能得到更好的解决了
1,解决的问题:文字很多,xib label 做自适应显示试图,也就是个自适应的label
2,解决问题,这个显示内容在有这个字段时显示,没有的时候 不显示
贴代码喽……
import UIKit class ViewController: UIViewController {
/*
做文字自适应的label 和 根据是否含有内容 出现、消失的label
*/
@IBOutlet weak var testHuggingPriorityLabel: UILabel! @IBOutlet weak var testCompressionResistancePriority: UILabel! @IBAction func didTestButtonClick(_ sender: UIButton) { sender.isSelected = !sender.isSelected if sender.isSelected { self.testHuggingPriorityLabel.text = ""
self.testCompressionResistancePriority.text = "你说你不好的时候,我疼,疼的不知道该怎么安慰你,\n 你说你醉的时候,我疼,疼的不能自制,思绪混乱。\n 我的语言过于苍白,心却是因为你的每一句话而疼。\n 太多不能,不如愿,想离开,离开这个让我疼痛的你。\n 转而,移情别恋,却太难,只顾心疼,我忘记了离开,\n一次一次,已经习惯,习惯有你,习惯心疼你的一切。" }else{ self.testHuggingPriorityLabel.text = "测试抗压缩能力,敢测试,就消失给你看";
self.testCompressionResistancePriority.text = "测试抗拉伸能力,敢测试,就变得超级大"
}
} /**
vc 固定的方法
*/
override func viewDidLoad() {
super.viewDidLoad()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
xib 添加的约束:
swift 第七课 xib 约束的优先级的更多相关文章
- XIB约束布局问题(通过优先级改变界面布局)
需要注意的是,只能修改可选约束的优先级,也就是说: 不允许将优先级由小于1000的值改为1000 不允许将优先级由1000修改为小于1000的值 例如,如果将优先级由250修改为1000,则会抛出异常 ...
- Kali Linux Web 渗透测试视频教程— 第七课 OpenVas
Kali Linux Web 渗透测试视频教程— 第七课 OpenVas 文/玄魂 视频教程地址:http://edu.51cto.com/course/course_id-1887.html 目录 ...
- NeHe OpenGL教程 第七课:光照和键盘
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- 【C语言探索之旅】 第二部分第七课:文件读写
内容简介 1.课程大纲 2.第二部分第七课: 文件读写 3.第二部分第八课预告: 动态分配 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言编写三个游戏 ...
- 【C语言探索之旅】 第一部分第七课:循环语句
内容简介 1.课程大纲 2.第一部分第七课: 循环语句 3.第一部分第八课预告: 第一个C语言小游戏 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言编 ...
- 【Cocos游戏实战】功夫小子第七课之游戏主功能场景逻辑功能和暂停功能场景的分析和实现
CSDN的markdown编辑器是吃屎了么! !.什么玩意.!写了一半写不了东西还全没了,搞个毛线! 本节课的视频教程地址是:第七课在此 假设本教程有帮助到您,希望您能点击进去观看一下,并且如今注冊成 ...
- Python学习第七课
Python学习第七课 'Alex' "Alex"print('hello'*5) #重复输出字符串 print('hellowold'[2:]) #类似于切片操作:会取出 llo ...
- [译]Quartz.NET 框架 教程(中文版)2.2.x 之第七课 触发监听器和作业任务监听器
第七课:触发监听器和作业任务监听器 监听器是在调度器中基于事件机制执行操作的对象.你大概可以猜到,触发监听器接收响应跟触发器有关的事件,作业任务监听器接收响应跟作业任务有关的事件. 跟触发器有关的事件 ...
- 红帽学习笔记[RHCSA] 第七课[网络配置相关]
第七课[网络配置相关] 在Vmware中添加网卡 编辑 -> 编辑虚拟网络 -> 添加网络->随便选择一个如VMnet2-> 选择仅主机模式 -> 勾掉使用本地DHCP服 ...
随机推荐
- golang 2 ways to delete an element from a slice
2 ways to delete an element from a slice yourbasic.org/golang Fast version (changes order) a := []st ...
- 7月新的开始 - Axure学习02 - 页面属性、钢笔工具
页面属性 页面属性可以修改整个页面的效果 包含: 属性.对交互用力和事件的编辑 样式.对页面的样式操作 说明.可以对整个页面进行说明.以及样式的说明 钢笔工具:锚点.路径 锚点:钢笔点击之后的点就是锚 ...
- easyUI-filebox图片上传和预览
转载自:https://blog.csdn.net/nvxiaq/article/details/77740516 备注: 1.如需上传多个图片可定义多个change_photo函数 在onChang ...
- [HNOI2015]开店 简要题解
主席树. 推下式子,发现点的深度和好算,lca深度和不好算. lca深度之和有个套路:先给a到根路径+1,再算b到根的和. 如果可以离线,即LNOI的LCA.本题强制在线,可持久化. 由于区间修改,使 ...
- Python常用知识
基础模板(sys.os) http://c.biancheng.net/view/2407.html cmd中查看第三方库 eg:import aiohttp help(aiohttp) 或者dir( ...
- ZOJ 3182 HDU 2842递推
ZOJ 3182 Nine Interlinks 题目大意:把一些带标号的环套到棍子上,标号为1的可以所以操作,标号i的根子在棍子上时,只有它标号比它小的换都不在棍子上,才能把标号为i+1的环,放在棍 ...
- [POI2008]BLO-Blockade 割点
[POI2008]BLO-Blockade 割点 题面 容易想到用\(\text{Tarjan}\)求割点.对于非割点,会损失\(2\times(n-1)\)次访问(注意是互相访问,所以要乘2):对于 ...
- 【csp模拟赛3】flowers.cpp--循环节
题目描述 小 Q 最终还是过了独木桥. 前方的地上散落着 B 朵樱花,此时刮起了风,便引来一场樱花雨. 樱花雨一共持续了 N 秒.每一秒都会有 A 朵樱花飘落.小 Q 细心的记录了每一秒时间 后地上樱 ...
- idea svn设置忽略提交文件
1.找到版本控制位置 2.新建变动列表(装载忽略的文件内容) 3. 将默认的变动列表中需要忽略的文件拖入ignored列表下 4. 提交时,选择default即可. 设置完毕之后,可以在提交文件时将之 ...
- 安装fastFDS
fastdfs源码包.libfastcommon源码包.nginx模块,我存放源码包于 /usr/local/src wget https://github.com/happyfish100/fast ...