小编Inv*_*ain的帖子

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

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

iPhone X: 在此处输入图片说明

然而,在 iPhone 8 或更小的屏幕中,“Find People”离左边太近,“Follow All”甚至在屏幕外: 在此处输入图片说明

我知道在 UIKit 自动布局中可以很容易地解决这个问题,但我想知道 SwiftUI 解决这个问题的最佳方法或正确方法是什么,有些答案说使用像 Spacer 或 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)
                     }
                }
            }
        )
    }
}
Run Code Online (Sandbox Code Playgroud)

ios swift swiftui

6
推荐指数
1
解决办法
5189
查看次数

在 SwiftUI 中,我们如何重用一组修饰符或将它们变成一种组件来不重复调用它们?

我知道很多人已经考虑过这个问题,但是我在 Stackoverflow 上找不到任何好的答案,或者即使在 Youtube 的一些著名频道上也找不到纯粹谈论这个的好的教程。

我的问题很简单:

在 SwiftUI 中,我们可能会做很多这样的事情:

Text("Hello World")
  .padding(EdgeInsets(top: 3, leading: 3, bottom: 3, trailing: 3))
  .background(Color.blue)
  .cornerRadius(5)
Run Code Online (Sandbox Code Playgroud)

但是,正如您或任何其他非常有经验和专业的开发人员可能知道的那样,我们绝对不想.padding(EdgeInsets(top: 3, leading: 3, bottom: 3, trailing: 3)).background(Color.blue).cornerRadius(5)为每个“Text(...)”或其他类似“Button”或任何其他 SwiftUI 组件编写代码。我们确实想将 包装.padding(EdgeInsets(top: 3, leading: 3, bottom: 3, trailing: 3)).background(Color.blue).cornerRadius(5) 在某种方法或其他地方。我知道如何在 UIKit 中做到这一点,但问题是我们如何做到这一点,因为 SwiftUI 是一种构建 GUI 的声明性方式?

谢谢。

ios swiftui

5
推荐指数
3
解决办法
776
查看次数

只是想添加一个变暗层或通过 Swift 使 UIImageView 变暗

人们已经知道这看起来很简单,但 Stackoverflow 没有给我答案。基本上我想让图像变暗,就像下面北京古建筑的背景图像一样:

在此输入图像描述

使其变暗,以便其上的标签对比更加明显。

我尝试添加一个图层(Stackoverflow 的答案之一)或添加tintColor,但它们都不起作用,有没有任何方法可以真正起作用?感谢你们。

我使用的是 iOS 13 和 swift 5.1

ios swift

1
推荐指数
1
解决办法
1657
查看次数

标签 统计

ios ×3

swift ×2

swiftui ×2