文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

swiftui开发之padding默认值设置详解

2024-04-02 19:55

关注

正文

swiftui 中的 padding 用于设置视图的填充。

使用 padding() 可以指定 Text、Button 等视图填充的数值,或者是对一个或多个边设置填充。

下面让我们来看看 padding 有哪些使用方式。

padding 的默认值

使用 padding() 设置填充时,没有设置具体数值将会使用特定平台给定的默认值。而这个默认值并没有标准值,对于不同的设备,用户的设置等情况,padding 的默认值都会有所不同:

如果值为 nil,则将应用特定平台指定的或者由系统计算的值用于填充。

来看看具体示例:

import SwiftUI
struct Test: View {
    var body: some View {
        VStack{
            Text("没有默认值的padding")
                .padding()
                .background(Color.red)
            Text("填充值为16的padding")
                .padding(16)
                .background(Color.blue)
        }
    }
}
struct Test_Previews: PreviewProvider {
    static var previews: some View {
        Test()
    }
}

iphone14 pro 显示效果(下面示例默认使用 iphone14 pro 显示):

上图的显示效果中,默认值和 16 的效果近似,但不代表默认值就是 16。

对某个方向设置 padding

padding 可以对上下左右 4 个方向单独设置填充。

import SwiftUI
struct Test: View {
    var body: some View {
        VStack{
            Text("上padding")
                .padding(.top, 20) // 文字顶部设置 20 像素的填充
                .border(Color.gray)
            Text("下padding")
                .padding(.bottom, 20)
                .border(Color.gray)
            Text("左padding")
                .padding(.leading, 20)
                .border(Color.gray)
            Text("右padding")
                .padding(.trailing, 20)
                .border(Color.gray)
            // 统一设置 16 像素的填充
            Text("填充值为16的padding")
                .padding(16)
                .border(Color.gray)
        }
    }
}
struct Test_Previews: PreviewProvider {
    static var previews: some View {
        Test()
    }
}

注意:如果在设置某个方向的 padding 时没有给定具体数值,将会使用系统默认值:padding(.top)。

同时对多个方向设置 padding

我们还可以同时对多个方向设置 pdding。

import SwiftUI
struct Test: View {
    var body: some View {
        VStack{
            Text("上下padding")
                .padding([.top, .bottom], 20)
                .border(Color.gray)
            Text("上下左padding")
                .padding([.top, .bottom, .leading], 20)
                .border(Color.gray)
            Text("左右padding")
                .padding([.leading, .trailing], 20)
                .border(Color.gray)
            Text("左右下padding")
                .padding([.bottom, .leading, .trailing], 20)
                .border(Color.gray)
            Text("水平padding")
                .padding(.horizontal, 20)
                .border(Color.gray)
            Text("垂直padding")
                .padding(.vertical, 20)
                .border(Color.gray)
            Text("填充值为16的padding")
                .padding(16)
                .border(Color.gray)
        }
    }
}
struct Test_Previews: PreviewProvider {
    static var previews: some View {
        Test()
    }
}

对上下左右4个方向的 padding 进行精确设置

import SwiftUI
struct Test: View {
    var body: some View {
        VStack{
            Text("精确控制4个方向的padding")
                .padding(EdgeInsets(top: 10, leading: 20, bottom: 30, trailing: 40))
                .border(Color.gray)
            Text("填充值为16的padding")
                .padding(16)
                .border(Color.gray)
        }
    }
}
struct Test_Previews: PreviewProvider {
    static var previews: some View {
        Test()
    }
}

总结

我们学会了 padding 的各个方向的设置,给你的布局加点 padding,对用户体验会更加友好哦。

以上就是swiftui开发之padding默认值设置详解的详细内容,更多关于swiftui padding默认值设置的资料请关注编程网其它相关文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯