[Swift通天遁地]6、智能佈局-(4)給視圖添加錨點約束

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

目錄:[Swift]通天遁地Swiftios

本文將演示如何給視圖添加錨點約束。git

錨點默認位於視圖中心點的位置。github

首先確保在項目中已經安裝了所需的第三方庫。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

根據配置文件中的相關配置,安裝第三方庫。ide

而後點擊打開【DemoApp.xcworkspace】項目文件。佈局

在項目導航區,打開視圖控制器的代碼文件【ViewController.swift】post

如今開始編寫代碼,建立一個滾動視圖,並在滾動視圖中添加一個標籤控件。spa

 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         //對視圖進行初始化
15         neonView = UIView()
16         //設置視圖的背景顏色爲橙色
17         neonView.backgroundColor = UIColor.orange
18         //將視圖添加到根視圖中
19         self.view.addSubview(neonView!)
20         
21         //須要放在addSubView方法的後面
22         //經過視圖對象的擴展方法,將視圖的錨點,
23         //固定在父視圖的中心位置,
24         //並設置視圖對象的寬度和高度都是100
25         neonView.anchorInCenter(width: 100, height: 100)
26     }
27 
28     //添加一個錨點,用來響應子視圖的佈局,
29     //是即將發生變化時的事件。
30     override func viewWillLayoutSubviews() {
31         //當佈局即將發生變化時,
32         //從新設置視圖的約束關係。
33         neonView.anchorInCenter(width: 100, height: 100)
34     }
35     
36     override func didReceiveMemoryWarning() {
37         super.didReceiveMemoryWarning()
38         // Dispose of any resources that can be recreated.
39     }
40 }

改變模擬器的方向:

【Hardware】->【Rotate Left】

當模擬器的方向發生變化時,

橙色視圖仍然保持原來的尺寸。

而且始終位於模擬器的中心位置。

相關文章
相關標籤/搜索