[Swift通天遁地]6、智能佈局-(7)經過Group(組)命令實現對多個視圖的統一約束

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公衆號:山青詠芝(shanqingyongzhi)
➤博客園地址:山青詠芝(https://www.cnblogs.com/strengthen/
➤GitHub地址:https://github.com/strengthen/LeetCode
➤原文地址:http://www.javashuo.com/article/p-kvljedad-ma.html 
➤若是連接不是山青詠芝的博客園地址,則多是爬取做者的文章。
➤原文已修改更新!強烈建議點擊原文地址閱讀!支持做者!支持原創!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★html

目錄:[Swift]通天遁地Swiftios

本文將演示如何經過組的概念,同時對多個視圖添加相同的約束關係。git

首先確保在項目中已經安裝了所需的第三方庫。github

點擊【Podfile】,查看安裝配置文件。swift

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】ide

 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, width: 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, width: size, height: size)
58         
59         //經過調用父視圖的組居中方法,將指定的三個視圖,約束在垂直方向的中心位置。
60         //同時設置子視圖的尺寸和間距。
61         //viewParent.groupInCenter(group: .vertical, views: [view1, view2, view3], padding: pad, width: size, height: size)
62         
63         //經過調用父視圖的組居中並貼近邊緣的方法,將指定的三個視圖,約束在水平方向上的居左的位置
64         //viewParent.groupAgainstEdge(group: .horizontal, views: [view1, view2, view3], againstEdge: .left, padding: pad, width: 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 }
相關文章
相關標籤/搜索