标签: xcode11

将固定尺寸设置为图像

如何在SwiftUI中为图片设置固定大小?目前我的图片真的很大

目前,我具有以下结构:

struct TweetCell: View {
     var profileImage: Image
     var body: some View {
         HStack {
              profileImage
             VStack {
            ...
         }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

user-interface ios swift swiftui xcode11

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

在主(ContentView)SwiftUI视图中以UIViewRepresentable的形式访问MKMapView元素

我正在使用SwiftUI显示地图,如果用户点击了注释,它将在VStack中弹出详细视图。我已经制作了地图视图,并在另一个SwiftUI文件中插入了注释。我还做了详细视图。

如何在主视图文件中访问该地图的注释,以定义一个.tapaction,以便他们将其用于详细视图?

我尝试将视图定义为MKMapView,但无法在另一个SwiftUI视图中为UIViewRepresentable做到这一点。

主视图(ContentView)代码为:

struct ContentView: View {
    @State private var chosen = false

    var body: some View {

        VStack {
            MapView()
            .edgesIgnoringSafeArea(.top)
            .frame(height: chosen ? 600:nil)
            .tapAction {
            withAnimation{ self.chosen.toggle()}
            }

    if chosen {
        ExtractedView()
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

MapView代码为:

struct MapView : UIViewRepresentable {
    @State private var userLocationIsEnabled = false
    var locationManager = CLLocationManager()
    func makeUIView(context: Context) -> MKMapView {
    MKMapView(frame: .zero)

    }
    func updateUIView(_ view: MKMapView, context: Context) {

        view.showsUserLocation = true

        .
        .
        .

            let sampleCoordinates …
Run Code Online (Sandbox Code Playgroud)

mapkit swift swiftui xcode11

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

How do I put a swift package in Edit Mode?

So I want to edit some files in a swift package in Xcode 11.0 beta (11M336w) on MacOS 10.15 Beta (19A471t).

Let's take https://github.com/AndyQ/NFCPassportReader as an example.

It has an example app which uses the repo from GitHub. Suppose I want to make some source code changes. How do I tell the system I want to edit the package?

I tried "swift package edit NFCPassportReader" on the command line.

  1. If I run it from the example app's root …

swift-package-manager xcode11

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

如何在SwiftUI中更改.navigationBarTitle字体?

我正在将SwiftUI与Xcode 11结合使用,我想NavigationBarTitle用以下代码行更改字体:

.navigationBarTitle (Text("Navigation Bar Title"), displayMode: .inline)
    .font(.subheadline)
Run Code Online (Sandbox Code Playgroud)

但是什么也没发生。有什么建议或意见吗?

ios swift swiftui xcode11

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

Xcode 11 Beta 4存档快速错误

使用最新的Xcode 11归档时,我收到大量的Swift错误。调试中的构建工作正常,问题仅在归档时。

错误示例-> 未定义符号:Swift的方法描述符。

beta xcode archive swift xcode11

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

Swift UI Xcode 11 beta 5-构建时出错

我收到此错误消息:“编译器无法在合理的时间内对这个表达式进行类型检查;每次尝试构建我的应用程序时,都尝试将表达式分解为不同的子表达式,并且每次构建错误时,都会在不同的视图和代码的不同部分。通常,它显示了我有ForEach或.sheet演示文稿的位置,但是有包含它们的视图,并且它们不会给出错误。这仅在我更新到xCode 11 beta 5时才发生,有人有同样的错误吗?

已经尝试替换视图上的ForEach和.sheet,但是有些视图具有ForEach,并且它们没有给出错误且它们完全相同。

预期的结果在编译时不会出现该错误,但是由于某种原因,它始终显示:'编译器无法在合理的时间中对该表达式进行类型检查;尝试将表达式分解为不同的子表达式

swiftui xcode11

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

如何通过单击按钮转到另一个视图

我的代码中有一个按钮,并且有一个名为LogindView.swift的文件

单击按钮时,我无法获取打开另一个视图文件的代码。

谁能给我一个例子。

在我的按钮操作中,我尝试编写LogindView(),但我只是警告我。“'LogindView'初始化程序的结果未使用”

    Button(action: {
            // Do action
            LogindView()
        }, label: {
            //** Label text
            Text("Logind")
                .font(.headline)
                .padding(.all)
                .foregroundColor(Color.white)
        })
        .background(Color.blue)
Run Code Online (Sandbox Code Playgroud)

swiftui xcode11

4
推荐指数
2
解决办法
661
查看次数

数组大小更改后如何刷新ForEach显示元素的数量(SwiftUI,Xcode 11 Beta 5)

我试图实现一个视图,如果内容数组的大小发生变化,该视图可以更改显示项的数量(由ForEach循环创建),就像购物应用程序在用户拉动刷新后如何更改其可用项数一样

这是到目前为止我尝试过的一些代码。如果我没记错的话,这些可以使用Xcode beta 4,但是可以使用beta 5:

  • 如果数组的大小增加,则循环仍将显示元素的原始数量
  • 数组的大小减小将导致索引超出范围错误

码:

import SwiftUI

struct test : View {
    @State var array:[String] = []
    @State var label = "not pressed"
    var body: some View {
        VStack{
            Text(label).onTapGesture {
                self.array.append("ForEach refreshed")
                self.label = "pressed"
            }
            ForEach(0..<array.count){number in
                Text(self.array[number])
            }
        }
}
}

#if DEBUG
struct test_Previews: PreviewProvider {
    static var previews: some View {
        test()
    }
}
#endif
Run Code Online (Sandbox Code Playgroud)

我通常是SwiftUI和GUI编程的新手,只是感觉每个内容都是在启动时定义的,因此之后真的很难进行更改(例如:在用户导航离开并返回视图后重置视图)。对于循环问题的解决方案或使视图更具动态性的任何提示将不胜感激!

xcode swift swiftui xcode11

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

iOS 13没有在后台获取VoIP推送通知

我正在使用CallKit和PushKit在Swift中开发软电话。在iOS 13之前,VoIP通知运行良好。但是,在iOS 13更新之后,我的应用程序在后台运行时没有收到VoIP推送通知。在前台didReceiveIncomingPushWith被调用,但在后台不被调用。

如何解决此问题?

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    // Override point for customization after application launch.
    print("\(#function)")
    let voipPushResgistry = PKPushRegistry(queue: nil)
    voipPushResgistry.delegate = self
    voipPushResgistry.desiredPushTypes = [PKPushType.voIP]

    return true
}

func pushRegistry(_ registry: PKPushRegistry, didInvalidatePushTokenFor type: PKPushType) {
    print("\(#function) token invalidated")
}

func pushRegistry(_ registry: PKPushRegistry, didUpdate credentials: PKPushCredentials, for type: PKPushType) {
    let deviceToken = credentials.token.reduce("", {$0 + String(format: "%02X", $1) })
    print("\(#function) token is: \(deviceToken)")
}

func …
Run Code Online (Sandbox Code Playgroud)

iphone pushkit callkit ios13 xcode11

4
推荐指数
2
解决办法
2919
查看次数

VSCode,MacOS Catalina-在C / C ++调试时不会在断点处停止

我试图在Mac上使用VSCode开发的C代码上使断点起作用。

我的代码似乎可以编译并运行良好(由于vscode BTW 上没有'openssl / crypto.h'文件),但是我没有得到任何断点,甚至在开始使用"stopAtEntry": true或附加到正在运行的进程时也没有。

我的tasks.jsonlaunch.json非常标准:

{
    "tasks": [
        {
            "type": "shell",
            "label": "clang build active file",
            "command": "/usr/bin/clang",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}",
                "-I/usr/local/opt/openssl/include",
                "-L/usr/local/opt/openssl/lib",
                "-lssl",
                "-lcrypto"
            ],
            "options": {
               "cwd": "/usr/bin"
            }
        }
    ],
    "version": "2.0.0"
}
Run Code Online (Sandbox Code Playgroud)

和:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(lldb) Attach",
            "type": "cppdbg",
            "request": "attach",
            "program": "${workspaceFolder}/test2",
            "processId": "${command:pickProcess}",
            "MIMode": "lldb"
        },
        {
            "name": "clang build and debug active file",
            "type": …
Run Code Online (Sandbox Code Playgroud)

c visual-studio-code vscode-debugger xcode11 macos-catalina

4
推荐指数
2
解决办法
949
查看次数