swift 约束 - SnapKit 适配iPhoneX 安全区 和苹果自带的VFL ,auto layout 安全区适配

本文介绍了如何使用SnapKit和苹果的Visual Format Language(VFL)在Swift中进行Auto Layout布局,特别是针对iPhone X及后续设备的安全区域适配。通过实例解析,详细阐述了适配过程,帮助开发者解决界面在不同屏幕尺寸下的显示问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 这里tableview 是从最顶上的安全区适配的, nextBtn是最下边从安全区设置的,如果是在中间的view还是原来的写法,看2
  1.安全区适配适用于Vc里面, 如果是自定义的view或封装的view, 直接使用原来写法就可以了
 2        tableview.snp.makeConstraints { (make) in
 3             if #available(iOS 11.0, *) {
 4                 make.top.equalTo(self.view.safeAreaLayoutGuide.snp.top)
 5             } else {
 6                 make.top.equalTo(self.topLayoutGuide.snp.top)
 7             }
 8 
 9             make.centerY.equalTo(view)
10             make.width.equalTo(view)
11             make.bottom.equalTo(view).inset(-60)
12         }
13         
14         view.addSubview(nextBtn)
15         nextBtn.snp.makeConstraints { (make) in
16             
17             make.left.equalTo(tableview)
18             make.right.equalTo(tableview)
19             if #available(iOS 11.0, *) {
20                 make.bottom.equalTo(self.view.safeAreaLayoutGuide.snp.bottom)
21             } else {
22                 make.bottom.equalTo(self.bottomLayoutGuide.snp.bottom)
23             }
24             make.height.equalTo(60)
25         }
26 
27 
28       2. 非安全区写法还和原来一样
29 
30         titleLabel.snp.makeConstraints { (make) in
34             make.left.equalTo(view).offset(24)
38             make.top.equalTo(view).offset(24) }


     3.iOS - 约束 - VFL 和auto layout 安全区适配
1         if #available(iOS 11.0, *) {
2             tableview.translatesAutoresizingMaskIntoConstraints = false
3             tableview.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor).isActive = true
4         } else {
5             tableview.topAnchor.constraint(equalTo: view.topAnchor).isActive = true
6         }
详情使用链接 :SnapKit的详细使用介绍 :https://www.jianshu.com/p/2bad53a2a180

swift约束之SnapKit的使用方式 : https://blog.csdn.net/w_shuiping/article/details/50973035

  

转载于:https://www.cnblogs.com/qingzZ/p/9242928.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值