• 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 = "你说你不好的时候,我疼,疼的不知道该怎么安慰你,
     你说你醉的时候,我疼,疼的不能自制,思绪混乱。
     我的语言过于苍白,心却是因为你的每一句话而疼。
     太多不能,不如愿,想离开,离开这个让我疼痛的你。
     转而,移情别恋,却太难,只顾心疼,我忘记了离开,
    一次一次,已经习惯,习惯有你,习惯心疼你的一切。"
                
            }else{
                
                self.testHuggingPriorityLabel.text = "测试抗压缩能力,敢测试,就消失给你看";
                self.testCompressionResistancePriority.text = "测试抗拉伸能力,敢测试,就变得超级大"
            }
        }
        
        /**
         vc 固定的方法
         */
        override func viewDidLoad() {
            super.viewDidLoad()
        }
        override func didReceiveMemoryWarning() {
            super.didReceiveMemoryWarning()
        }
    }

    xib 添加的约束:

            

  • 相关阅读:
    Python服务器开发三:Socket
    系统性能检测工具之lsof
    系统性能检测工具之iostat
    系统性能检测工具之vmstat
    系统性能检测工具之sar
    系统性能检测工具之ps
    系统性能检测工具之top
    Linux常用命令大全
    授权
    RMAN之REPORT命令
  • 原文地址:https://www.cnblogs.com/Bob-blogs/p/6566984.html
Copyright © 2020-2023  润新知