小编Moj*_*ini的帖子

在 SwiftUI 的列表中包含 TextEditor 的动态行高

我有一个List包含TextEditor

struct ContentView: View {
    @State var text: String = "test"

    var body: some View {
        List((1...10), id: \.self) { _ in
            TextEditor(text: $text)
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但它的项目并没有随着TextEditor. 我试过.fixedSize()修饰符但没有运气。我在这里缺少什么?

swift swiftui

7
推荐指数
2
解决办法
3681
查看次数

How to convert `UIColor` to SwiftUI‘s `Color`

I want to use a UIColor as foregroundcolor for an object but I don’t know how to convert UIColor to a Color

var myColor: UIColor
RoundedRectangle(cornerRadius: 5).foregroundColor(UIColor(myColor))
Run Code Online (Sandbox Code Playgroud)

colors uicolor swift swiftui

6
推荐指数
3
解决办法
2065
查看次数

如何在swiftUI中忽略具有线性渐变的背景的安全区域?

使用 SwiftUI,我知道如何在整个屏幕上设置一个简单颜色的背景。所以只有后台忽略安全区域。但是当我想用线性渐变来做这件事时,我不知道这样做。

我的观点有一个简单的背景:

import SwiftUI

struct Settings : View {
  var body: some View {
    ScrollView {
        VStack {
          Text("Boussole")
            .color(Color(red: 52/255, green: 73/255, blue: 94/255, opacity: 1.0))
            .multilineTextAlignment(.leading)
            .font(.system(size: 28))
            .padding(.top, 15)
            .frame(minWidth: 0, maxWidth: .infinity, alignment: .leading)
          Toggle(isOn: .constant(false)) {
            Text("Afficher le vrai nord")
              .font(.system(size: 20))
              .color(Color(red: 52/255, green: 73/255, blue: 94/255, opacity: 1.0))
          }
          .padding(.top, 10)
          Toggle(isOn: .constant(true)) {
            Text("Activer la vibration")
              .font(.system(size: 20))
              .color(Color(red: 52/255, green: 73/255, blue: 94/255, opacity: 1.0))
          }
          .padding(.top, 10)
          .padding(.bottom, 20) …
Run Code Online (Sandbox Code Playgroud)

xcode gradient swift swiftui xcode11

6
推荐指数
2
解决办法
5589
查看次数

如何在 Swift UI 的滚动视图中显示全文

我正在编写应该包含多行文本的视图,我使用滚动视图来滚动它,但它也会包装我的文本。像 .lineLimit(nil) 这样的修饰符不起作用。

var body: some View {
    ScrollView{
        Text(lesson.text)
    }
}
Run Code Online (Sandbox Code Playgroud)

所以它是没有和有滚动视图的屏幕截图。

没有滚动视图

带滚动视图

ios swift swiftui

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

如何在我的 InfoPlist.strings 文件中使用来自 Info.plist 的变量?

我正在尝试使用${PRODUCT_NAME}Info.plist 中的变量,但在我本地化的 InfoPlist.strings 文件中使用它,该文件将在弹出通知时显示应用程序名称。这甚至可能吗?

当我尝试以这种方式执行此操作时,我会收到一个带有正确语言的弹出窗口,但它显示$(PROGRAM_NAME)而不是"My App Name"......

    Info.plist:
    <key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
        <string>${PRODUCT_NAME} would like to use your current location while using the app and in the background</string>

    InfoPlist.strings (EN):
    "NSLocationAlwaysAndWhenInUseUsageDescription" = "${PRODUCT_NAME} would like to use your current location while using the app and in the background";

    InfoPlist.strings (FR):
    "NSLocationAlwaysAndWhenInUseUsageDescription" = "${PRODUCT_NAME} souhaiteraient utiliser votre emplacement actuel en utilisant l'application et en arrière-plan";
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

xcode localization info.plist

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

SwiftUI 中“some View”类型的值没有成员“onDelete”

在我的应用程序中,我有一个ItemsListView 它显示从核心数据获取的项目列表。

我无法在列表上执行 .onDelete。出现Value of type 'some View' has no member 'onDelete'错误。第二个错误 - 就Protocol type 'Any' cannot conform to 'View' because only concrete types can conform to protocols在列表中。

struct ItemsListView: View {
    @Environment(\.managedObjectContext) var managedObjectContext

    var fetchRequest: FetchRequest<Item>
    var items: FetchedResults<Item>{fetchRequest.wrappedValue}

    init() {
        fetchRequest = FetchRequest<Item>(entity: Item.entity(), sortDescriptors: [])
    }

    var body: some View {
        List { //error 2 appears here
            ForEach(items) { (item : Item)  in
                Text("\(item.name ?? "Nothing")")
            }.onDelete(perform: delete) // getting error …
Run Code Online (Sandbox Code Playgroud)

list swift swiftui swiftui-list

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

如何使用 swiftUI 设置最小窗口大小,以及如何使窗口在启动时使用指定的大小和位置?

我正在使用 swiftUI 制作 macOS 应用程序。我想将窗口的最小大小设置为 800, 500。还有一个问题,如果我关闭窗口,然后重新打开,它会重新打开为上次关闭时的位置大小。我如何让它不记得上次关闭时的窗口位置和大小。我正在使用 Xcode 11.2.1 和 macOS Catalina,我正在为 macOS 而不是 iOS 开发一个应用程序。我该怎么做这两件事?

macos window swift swiftui

6
推荐指数
2
解决办法
3176
查看次数

SwiftUI 中的自定网格项

我已经使用adaptiveflexibleminimum没有运气的大小。

struct ContentView: View {

    let rows = [
        GridItem(.adaptive(minimum: 80)) // lowering this cuases an unwanted shrink of text.
    ]

    var body: some View {
        LazyVGrid(columns: rows, spacing: 8) {
            ForEach((0...10), id: \.self) { item in
                Text("\(Int.random(in: 0...50000))")
                    .background(Color.yellow)
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

结果:

结果

如您所见,似乎它以minimum大小为单位fixed!另外,请注意,我不知道最小尺寸,因为它Text是自行调整尺寸的。

我们如何为LazyVGridor提供自定尺码的项目LazyHGrid

我希望它看起来像一个标签视图。

grid layout sizing swiftui

6
推荐指数
0
解决办法
568
查看次数

“View”初始值设定项的结果未使用

我的自定义按钮不会点击并传递到名为 AddCreditCardView 的下一个视图。

我已经用 print 语句测试了按钮操作,但它也不起作用。

我单独复制了下面的代码。

这是我的内容视图

import SwiftUI
struct ContentView: View {
    let membershipRows = MembershipData.listData()
    let corporateRows = CorporateData.listData()
    let otherOperationRows = OtherOperationsData.listData()
    @State var selectedCard = CreditCard(id: "", cardOwnerName: "", cardNumber: "", cardExpMonth: "", cardExpYear: "", ccv: "")
    @State var shown: Bool = false
    var body: some View {
        NavigationView {
            VStack {
                List {
                    Section(header: Text("Bireysel")) {
                        ForEach(membershipRows) { row in
                            NavigationLink(destination: CreditCardView()) {
                                RowElementView(row: row)
                            }
                        }
                    }
                    if self.corporateRows.count == 0
                    {
                        Rectangle() …
Run Code Online (Sandbox Code Playgroud)

init swiftui

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

使用 Swift 包管理器时,图像未显示在 SwiftUI 预览中 - 在 Xcode 项目中工作正常

我想知道是否有人在使用 Swift Package Manager 时获得了 SwiftUI 预览来处理本地图像资源。

我没有做任何花哨的事情。我有一个包含一些图像的资产目录,我的视图看起来像

public var body: some View {
    Image("star_5")
        .resizable()
        .scaledToFit()
}
Run Code Online (Sandbox Code Playgroud)

当我创建依赖于这个 swift 包的 Xcode 项目时,我可以引用其中定义的预览,并且 SwiftUI 可以正确显示它们。

xcode ios swift swift-package-manager swiftui

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