[Swift通天遁地]六、智能布局-(4)给视图添加锚点约束

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公众号:山青咏芝(shanqingyongzhi)
➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/
➤GitHub地址:https://github.com/strengthen/LeetCode
➤原文地址:https://www.cnblogs.com/strengthen/p/10269129.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         //对视图进行初始化
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( 100, height: 100)
26     }
27 
28     //添加一个锚点,用来响应子视图的布局,
29     //是即将发生变化时的事件。
30     override func viewWillLayoutSubviews() {
31         //当布局即将发生变化时,
32         //重新设置视图的约束关系。
33         neonView.anchorInCenter( 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】

当模拟器的方向发生变化时,

橙色视图仍然保持原来的尺寸。

并且始终位于模拟器的中心位置。

原文地址:https://www.cnblogs.com/strengthen/p/10269129.html