SwiftUI如何调整不同的屏幕尺寸

2023-11-21

我正在使用 SwiftUI 开发人员列表页面,iPhone X 屏幕足够大,但标题在 iPhone 8 中超出屏幕:

iPhone X:

enter image description here

然而,在 iPhone 8 或更小的屏幕中,“查找人员”太靠近左侧,“全部关注”甚至超出了屏幕:

enter image description here

我知道在 UIKit 自动布局中会很容易地解决这个问题,但我想知道 SwiftUI 解决这个问题的最佳方法或正确方法是什么,有些答案说使用类似Spacer or HStack,但它们实际上都不起作用。

var body: some View {
    NavigationView {
        List {
            ForEach(people) {person in
                PersonView(person: person)
            }
        }.navigationBarItems(leading:
            VStack(spacing: 10) {
                HStack(spacing: 100) {
                    Text("Find People").font(.system(size: 30)).bold()
                    Text("Follow All").foregroundColor(Color(ColorUtils.hexStringToUIColor(hex: Constants.THEME.THEME_COLOR)))
                }
                HStack(spacing: 20) {
                     Text("Import from: ")
                     ForEach(socialIcons, id: \.self) {icon in
                         Image(icon).resizable().frame(width: 25, height: 25)
                     }
                }
            }
        )
    }
}

您正在放置静态间距,因此会发生该问题。你可以使用修复它Spacer()修改并给出一些Frame().

var body: some View {
    NavigationView {
        List {
            ForEach(peoples, id: \.self) {person in
                PersonView(person: person)
            }
        }.navigationBarItems(leading:
            VStack(spacing: 5) { // Change Spacing as you want
                HStack {
                    Text("Find People").font(.system(size: 30)).bold()
                    Spacer()
                    Text("Follow All").foregroundColor(Color(ColorUtils.hexStringToUIColor(hex: Constants.THEME.THEME_COLOR)))
                }
                HStack() {
                    Text("Import from:")
                    Spacer()
                    ForEach(socialIcons, id: \.self) {icon in
                        Image(icon).resizable().frame(width: 25, height: 25)
                            .padding(.horizontal)
                    }
                }
            }.frame(width: UIScreen.main.bounds.width-20, alignment: .center)
        )
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SwiftUI如何调整不同的屏幕尺寸 的相关文章

随机推荐

  • 大量使用ViewBag

    我在 MVC 应用程序中大量使用 ViewBag 这被认为是不好的做法吗 我不确定是否要花时间创建 ViewModel 但我认为这更适合 MVVM 而不是 MVC 还是继续大量使用 ViewBag 支持和反对这一点的论据是什么 示例控制器方
  • 使用 PHP 通过表单发布 URL 时触发错误 403

    我在 apache 共享主机上使用 PHP 通过表单发布 URL 时遇到 403 Forbidden 错误 从现有的问题 表单提交时出现 403 错误 这很可能是由服务器上安装的 mod security 引起的 由于我使用共享托管 我无法
  • 找不到模块的声明文件

    我正在尝试使用我创建的 nodejs 包 有人可以指出我做错了什么吗 包结构如下 node modules my commons dist src helpers d ts helpers js index d ts index js no
  • 安卓。 SQLite异常:没有这样的列_id

    我在尝试获取存储在数据库中的信息并将其显示在 ListView 中时遇到一些麻烦 这是我想显示行的 ListActivity public class Prueba extends ListActivity Called when the
  • 如何在不使用数据库的情况下轻松存储持久数据?

    我正在尝试使用 Android 应用程序类 MyApplication java 将数据存储在一些字符串和整数的 ArrayList 中 我希望这些数据能够像数据库一样永久存储 但不使用数据库 简化我的应用程序 目前数据已存储 当我退出应用
  • 列出 sbt 1.2.8 中资源目录中的文件

    我有一个 Scala 应用程序 它处理来自某个目录的二进制文件resources 我想得到这个目录java io File并列出所有内容 在最新的 sbt 中 我无法直接做到这一点 我已经针对我的问题创建了最小的存储库 https gith
  • Symfony2 FOSUserBundle 角色实体

    我目前正在尝试找出将教义持久角色实体实现为与 FOSUserBundle 兼容的 M2M 关系的最佳方法 以前 我仅使用默认实现的字符串 并使用学说数组映射来持久化它 现在我需要将角色作为单独的实体 因为我们想要构建一个管理后端 其他人可以
  • 比较 ruby​​ 中的对象

    考虑一下 class Aaa attr accessor a b end x Aaa new x a x b 1 2 y Aaa new y a y b 1 2 puts x y gt false 有没有办法检查相同类型的类中的所有公共属性
  • 从之前的位置恢复 webapp?

    我有一个网络应用程序 它存储用户的数据 以便他们在 iPhone 上的主屏幕应用程序模式下单击外部链接并离开应用程序以查看网页或类似内容 当他们返回网络应用程序时 如何在同一位置恢复 目前它不会到达相同的位置 它重定向到主页我希望它从以前的
  • C 和 C++ 执行时间的差异

    我最近发现了这个名为 codechef 的网站 您可以在其中提交问题的解决方案 我为一个问题提交了两个答案 一个用 C 语言 另一个用 C 语言 两个代码几乎相同 但是当我用C提交的代码在4 89s执行时 我用C 提交的代码超时了 超过8秒
  • 创建文件 获取文件时间 设置文件时间

    我在使用 GetFileTime 和 SetFileTime 时遇到问题 当涉及到目录时 具体来说我认为我的问题是 我是 WinAPI 的新手 我认为我没有得到 正确处理 有两种情况 首先 我只需要一个句柄来获取文件或目录 时间戳 创建 访
  • 类型错误:格式字符串参数不足 - 使用 %Y-%m 时 Python SQL 连接

    with engine connect as con rs con execute SELECT datediff STR TO DATE CONCAT year month day Y m d current date from TABL
  • .setVisible(true) 立即重绘

    在一个简短的方法中 我使用 setVisible false 隐藏 JFrame 然后我截取屏幕截图并使用 setVisible true 恢复 JFrame 再次可见后 窗口应该显示与之前不同的图片 假设截取的屏幕截图的一部分 问题是 在
  • 如何从命令行使用 MSBuild 构建所有内容?

    这是有效的吗 MSBuild t all configuration all 我想使用 Visual Studio 2008 中的 MSBuild 从命令行构建 sln 文件等中所有项目的所有配置 我不想在调用 MSBuild 时指定它们
  • 如何在 cypress 测试中公开/访问 Redux 等数据存储?

    The 赛普拉斯文档说你可以 公开数据存储 如 Redux 中 以便您可以直接从测试代码以编程方式更改应用程序的状态 我还观看了 Kent C Dodds 先生的测试课程 他提到可以使用 Cypress 中的现有数据来初始化 redux 存
  • C++ 中的并行赋值

    有没有办法在C 中进行并行赋值 目前 以下编译 带有警告 include
  • 设置文本字段的禁用背景颜色

    I have a textfield which I set seteditable false and setEnabled false but the problem is that in this case the backgroun
  • 如何实现rabbitMQ的单消费者多队列模型

    我发现这张图片与我的商业模式非常相似 我需要将消息拆分到某个队列 进行一些繁重的工作 我可以为他们添加更多的工作线程 但对于一些人来说 没有太多繁重的工作 我可以 让单个消费者订阅他们的消息 但是在rabbitMQ 中如何做到这一点呢 通过
  • Rails 3 中具有数组格式的 find_by_sql

    美好的一天伙计们 我在用着find by sql 在 Rails 3 中按如下方式获取记录 list Email find by sql SELECT FROM Emails WHERE sent id params id 如果多个参数适用
  • SwiftUI如何调整不同的屏幕尺寸

    我正在使用 SwiftUI 开发人员列表页面 iPhone X 屏幕足够大 但标题在 iPhone 8 中超出屏幕 iPhone X 然而 在 iPhone 8 或更小的屏幕中 查找人员 太靠近左侧 全部关注 甚至超出了屏幕 我知道在 UI