zoukankan      html  css  js  c++  java
  • [Swift通天遁地]六、智能布局-(7)通过Group(组)命令实现对多个视图的统一约束

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
    ➤微信公众号:山青咏芝(shanqingyongzhi)
    ➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/
    ➤GitHub地址:https://github.com/strengthen/LeetCode
    ➤原文地址:https://www.cnblogs.com/strengthen/p/10274440.html 
    ➤如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章。
    ➤原文已修改更新!强烈建议点击原文地址阅读!支持作者!支持原创!
    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

    目录:[Swift]通天遁地Swift

    本文将演示如何通过组的概念,同时对多个视图添加相同的约束关系。

    首先确保在项目中已经安装了所需的第三方库。

    点击【Podfile】,查看安装配置文件。

    1 platform :ios, ‘12.02 use_frameworks!
    3 
    4 target 'DemoApp' do
    5     source 'https://github.com/CocoaPods/Specs.git'
    6     pod 'Neon'
    7 end

    根据配置文件中的相关配置,安装第三方库。

    然后点击打开【DemoApp.xcworkspace】项目文件。

    在项目导航区,打开视图控制器的代码文件【ViewController.swift】

     1 import UIKit
     2 //在当前的类文件中,引入已经安装的第三方类库
     3 import Neon
     4 
     5 class ViewController: UIViewController {
     6     
     7     //添加一个视图变量,作为类的一个属性。
     8     var neonView : UIView!
     9     
    10     override func viewDidLoad() {
    11         super.viewDidLoad()
    12         // Do any additional setup after loading the view, typically from a nib.
    13         //组的使用
    14         groupExample()
    15     }
    16     
    17     //添加一个方法,用来演示组的使用。
    18     func groupExample()
    19     {
    20         //初始化一个指定显示区域的对象,作为其他子视图的父视图。
    21         let viewParent = UIView(frame: CGRect(x: 20, y: 40,  280, height: 280))
    22         //设置视图对象的背景颜色为浅灰色
    23         viewParent.backgroundColor = UIColor.lightGray
    24         //将视图对象添加到根视图
    25         self.view.addSubview(viewParent)
    26         
    27          //初始化两个浮点类型的数字,
    28         //表示视图的间距和尺寸。
    29         let pad = CGFloat(10)
    30         let size = CGFloat(60)
    31         //初始化一个颜色数组,作为四个视图的背景颜色。
    32         let colors = [UIColor.purple, UIColor.brown, UIColor.orange]
    33         
    34         //初始化一个视图对象
    35         let view1 = UIView()
    36         //设置背景颜色
    37         view1.backgroundColor = colors[0]
    38         //将视图对象添加到父视图
    39         viewParent.addSubview(view1)
    40         
    41         //初始化一个视图对象
    42         let view2 = UIView()
    43         //设置背景颜色
    44         view2.backgroundColor = colors[1]
    45         //将视图对象添加到父视图
    46         viewParent.addSubview(view2)
    47         
    48         //初始化一个视图对象
    49         let view3 = UIView()
    50         //设置背景颜色
    51         view3.backgroundColor = colors[2]
    52         //将视图对象添加到父视图
    53         viewParent.addSubview(view3)
    54         
    55         //通过调用父视图的组居中方法,将指定的三个视图,约束在水平方向的中心位置。
    56         //同时设置子视图的尺寸和间距。
    57         viewParent.groupInCenter(group: .horizontal, views: [view1, view2, view3], padding: pad,  size, height: size)
    58         
    59         //通过调用父视图的组居中方法,将指定的三个视图,约束在垂直方向的中心位置。
    60         //同时设置子视图的尺寸和间距。
    61         //viewParent.groupInCenter(group: .vertical, views: [view1, view2, view3], padding: pad,  size, height: size)
    62         
    63         //通过调用父视图的组居中并贴近边缘的方法,将指定的三个视图,约束在水平方向上的居左的位置
    64         //viewParent.groupAgainstEdge(group: .horizontal, views: [view1, view2, view3], againstEdge: .left, padding: pad,  size, height: size)
    65         
    66         //将子视图成组,并在垂直方向上填充父视图。
    67         viewParent.groupAndFill(group: .vertical, views: [view1, view2, view3], padding: pad)
    68     }
    69     
    70     override func viewWillLayoutSubviews() {
    71         
    72     }
    73     
    74     override func didReceiveMemoryWarning() {
    75         super.didReceiveMemoryWarning()
    76         // Dispose of any resources that can be recreated.
    77     }
    78 }
  • 相关阅读:
    Android 禁止软键盘自动弹出
    Android之Adapter用法总结
    如何成为android高手
    最强大的文案策略
    外贸电商的ERP有很多
    ERP行业销售如何挖掘潜在客户?
    新制造
    C#实现字符串相似度算法
    cmd
    对于大型公司项目平台选择j2ee的几层认识
  • 原文地址:https://www.cnblogs.com/strengthen/p/10274440.html
Copyright © 2011-2022 走看看