小编Sha*_*har的帖子

SwiftUI 视图位于中间而不是顶部

我正在尝试在 SwiftUI 中创建视图。在预览中,它看起来应该如此,但是在我的 iPhone(或实时预览)上运行时,它看起来像是偏移了。

我试图将填充设置为 -150,但随后 TextField 不响应触摸。

VStack {
    Text("Name:")
        .padding(.bottom, 1)
    TextField($name)
        .padding(.horizontal, 25.0)
        .textFieldStyle(.roundedBorder)
        .frame(maxWidth: 500)
    Text("Image:")
        .padding(.top, 1)
    Image(uiImage: image!)
        .resizable(capInsets: EdgeInsets(), resizingMode: .stretch)
        .scaledToFit()
        .frame(width: 250, height: 250)
        .clipShape(RoundedRectangle(cornerRadius: 10))
        .padding(.top, 5)
    Button(action: {
        withAnimation {
            self.showImagePicker = true
        }
    }) {
        Text("Select Image")
            .color(.init(red: 20/255, green: 146/255, blue: 81/255))
    }
    Button(action: {
        let list = LSList( title: self.name,
                                           image: self.image!,
                                           id: 0)
        list.add()
        self.userData.listsData.append(list)
    }) {
        Text("Add List")
            .color(.white)
            .font(.system(size: 25))
            .bold()
            .padding(.horizontal, 7) …
Run Code Online (Sandbox Code Playgroud)

ios swift swiftui

26
推荐指数
3
解决办法
3万
查看次数

如何在SwiftUI中打开ImagePicker?

我需要使用SwiftUI在应用程序中打开ImagePicker,该怎么办?

我曾考虑过使用UIImagePickerController,但是我不知道如何在SwiftUI中做到这一点。

uiimagepickercontroller ios swift swiftui

15
推荐指数
6
解决办法
3822
查看次数

Xcode 11 Beta 3,构建错误“Unknown attribute 'State'”、“Use of undeclared type 'View'”等

我使用 SwiftUI 使用 Xcode 11 的第二个测试版构建了一个应用程序,并且一切正常,但是现在,使用第三个测试版,该应用程序甚至没有构建。我收到诸如“使用未声明的类型‘视图’”、“未知属性‘状态’”等错误。我该怎么办?是我的代码有问题还是只是一个错误?

问题是当我尝试构建应用程序以在我的 Mac 上运行时(使用 UIKit for Mac)

@State var score = 0
Run Code Online (Sandbox Code Playgroud)

错误是“未知属性‘状态’”

struct ContentView : View {
    /*...*/
}
Run Code Online (Sandbox Code Playgroud)

错误是“使用未声明的类型‘视图’”

macos swift swiftui xcode11 uikitformac

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

SwiftUI 的 NavigationView 缺少 Apple Watch 上的后退按钮

我使用 SwiftIU 创建了一个 Apple Watch 应用。应用程序的主视图是一个列表,带有到另一个列表的 NavigationLink。当我在内部列表之一中时,后退按钮不在视图的顶部。但是当我从屏幕一侧滑动时(比如在 iOS 上),我会回到主视图。

有没有办法将后退按钮添加回屏幕顶部?新手势是 watchOS 7 的新“后退按钮”吗?

Xcode 12.2(测试版 3)。Apple Watch S6(模拟器,7.1)和 Apple Watch S5(真实,7.0)。SwiftIU 2.0

主要观点:

NavigationView {
    List {
        ForEach(listsModel.lists) { (list) in
            NavigationLink(destination: ListView(list: list)
                            .environmentObject(list.rowsModel)) {
                ListsRowView(list: list)
            }
        }
    }
}
.onAppear {
    listsModel.update()
}
.navigationTitle("ListsView.NavigationTitle")
Run Code Online (Sandbox Code Playgroud)

内部观点:

List(rowsModel.rows) { (row) in
    RowView(row: row, shouldUpdate: $shouldUpdate)
}
.navigationBarHidden(false)
.onAppear {
    instantiateTimer()
    rowsModel.update()
}
.onDisappear {
    cancelTimer()
}
.onReceive(timer) { _ in
    if shouldUpdate {
        rowsModel.update()
    }
}
.navigationTitle(list.name)
Run Code Online (Sandbox Code Playgroud)

更新:在 Canvas …

watchos swiftui swiftui-navigationlink

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