Swift:.ignoresSafeArea():自由布局的全方位掌握

ignoresSafeArea(_ regions : edges:)修饰符的说明

SwiftUI布局系统会调整视图的尺寸和位置,以避免特定的安全区域。这就确保了系统内容(比如软件键盘)或设备边缘不会遮挡您的视图。要将您的内容扩展到这些区域,您可以通过应用该修改器来忽略特定边缘上的安全区域。

func ignoresSafeArea(
    _ regions: SafeAreaRegions = .all,
    edges: Edge.Set = .all
) -> some View
  • regions 视图的安全区域扩展到的区域
    • .all:.ignoresSafeArea(.all)将忽略所有的安全区域边缘,让视图完全占据整个屏幕,适用于需要全屏展示内容的场景。
    • .container:.ignoresSafeArea(.container)将忽略容器视图的安全区域,使得容器视图能够覆盖到导航栏或工具栏等区域。这在创建自定义导航栏或将内容延伸到工具栏下方时非常有用。
    • .keyboard:.ignoresSafeArea(.keyboard)将忽略键盘的安全区域。当键盘出现时,视图不会被遮挡,从而保证输入框和键盘之间的正确布局和可见性。
  • edges 可以指定要忽略的边界类型

    .ignoresSafeArea(.container, edges: .bottom)

这里是指定忽略底部边界,视图可以延伸到底部安全区域之外。

相关推荐
东坡肘子1 小时前
肘子的 Swift 周报 #063|异种肾脏移植取得突破
swiftui·swift·apple
恋猫de小郭15 小时前
什么?Flutter 可能会被 SwiftUI/ArkUI 化?全新的 Flutter Roadmap
flutter·ios·swiftui
靴子学长2 天前
iOS + watchOS Tourism App(含源码可简单复现)
mysql·ios·swiftui
一如初夏丿2 天前
xcode15 报错 does not contain ‘libarclite‘
ios·xcode
app开发工程师V帅2 天前
Xcode 文件缺失:Missing submodule xxx
ide·macos·xcode
app开发工程师V帅2 天前
Xcode 16 编译弹窗问题、编译通过无法,编译通过打包等问题汇总
macos·xcode
请叫我飞哥@5 天前
iOS在项目中设置 Dev、Staging 和 Prod 三个不同的环境
ios·xcode·swift
B.-6 天前
减少 Flutter 应用体积的常用方法
学习·flutter·android studio·xcode
hxx2218 天前
iOS swift开发系列--如何给swiftui内容视图添加背景图片显示
ios·swiftui·swift
名字不要太长 像我这样就好8 天前
【iOS】OC语法知识小结
ios·cocoa·xcode