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)

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

相关推荐
大熊猫侯佩10 天前
消失的它:摆脱 SwiftUI 中“嵌入视图数量不能超过 10 个”限制的秘密
swiftui·swift·apple
东坡肘子10 天前
失去时才会觉得可贵 | 肘子的 Swift 周报 #090
swiftui·swift·apple
大熊猫侯佩11 天前
SwiftUI 中创建一个自定义文件管理器只需4步!你敢信!?
swiftui·swift·apple
大熊猫侯佩12 天前
SwiftUI 趣谈之:绝不可能(Never)的 View!
swiftui·swift·apple
gavin carter13 天前
一台电脑管理多个cocoapods账号
xcode·cocoapods
大熊猫侯佩13 天前
SwiftUI 更自然地向自定义视图传递参数的“另类”方式
swiftui·swift·apple
大熊猫侯佩14 天前
SwiftUI 集合视图(Grid)拖放交换 Cell 的极简实现
swiftui·swift·apple
守城小轩15 天前
Chromium 136 编译指南 macOS篇:Xcode安装与配置(二)
macos·xcode·策略模式
大熊猫侯佩15 天前
SwiftUI 中无法对添加模糊(blur)效果视图截图的初步解决
swiftui·swift·apple
march of Time16 天前
go在for循环中使用errgroup和channel进行并发处理
开发语言·golang·xcode