小编39f*_*edy的帖子

在子视图中更新 ObservableObject 的 @Published 变量

isLoggedIn在 ObservableObject 类中有一个已发布的变量,如下所示:

import Combine

class UserAuth: ObservableObject{
    @Published var isLoggedIn: Bool = false
}
Run Code Online (Sandbox Code Playgroud)

我想在特定视图 (LoginView) 中将此变量更新为 true。此变量决定了我向用户显示的视图,具体取决于用户是否已登录:

struct ContentView: View {
    @ObservedObject  var userAuth = UserAuth()
    var body: some View {
        Group{
            if(userAuth.isLoggedIn){
                MainView()
            }else{
                AccountView()
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

因为userAuth.isLoggedIn是false(我还没登录)AccountView就显示出来了。

账户视图:

struct AccountView: View {
    @State private var toggleSheet = false
    var body: some View {
        VStack {
            Spacer()
            Button(action: {
                self.toggleSheet.toggle()
            }){
                Text("Toggle Modal")
                    .padding()
                    .foregroundColor(Color.white)
                    .background(Color.blue)
                    .cornerRadius(10)
            }
            .sheet(isPresented: self.$toggleSheet){
                LoginView()
            }
            Spacer() …
Run Code Online (Sandbox Code Playgroud)

swift swift5 swiftui

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

自定义 URL 方案不适用于 Swift 5、Xcode 11

我在我的 Xcode 项目中添加了一个自定义 URL 方案(我使用的是 SwiftUI)。

在此处输入图片说明

在 AppDelagate 文件中,我添加了:

func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
        print(url.absoluteString)
        print("work")
        return true
    }
Run Code Online (Sandbox Code Playgroud)

当我在模拟器或物理设备中访问 Safari (sampleurlscheme://) 时,代码没有被执行(即日志不显示等),但它把我带到了应用程序。

有什么我遗漏的或者这可能是一个错误吗?

swift swift5 swiftui

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

SwiftUI 中 watchOS 的 NavigationBarTitle 颜色更改

在此处输入图片说明

在上图中,id 喜欢更改-02:49为一种颜色,例如Color.blue

我试过了:

struct ContentView: View {

    var body: some View {
        PlayerView().accentColor(Color.blue)

    }
}
Run Code Online (Sandbox Code Playgroud)

我还尝试将它添加到实际的 PlayerView 中,如下所示:

struct PlayerView: View {

    var body: some View {
        VStack{
            .... 

        }.navigationBarTitle(Text(“-2:49”))
         .accentColor(.blue)

    }

}
Run Code Online (Sandbox Code Playgroud)

我也试过:

   struct PlayerView: View {

    var body: some View {
        VStack{
            .... 

        }.navigationBarTitle(Text(“-2:49”).foregroundColor(.blue))

    }

}
Run Code Online (Sandbox Code Playgroud)

xcode navigationbar swiftui watchos-6

7
推荐指数
3
解决办法
2129
查看次数

Azure:容器未在预期的时间内启动(WebApp)

尝试部署Web应用程序时出现以下错误:

错误-网站XXX的容器XXX_0在预期的期限内未启动。经过的时间= 1800.4463925秒

我正在尝试部署节点应用程序。对.deployment文件使用自动部署。.deployment文件如下所示:

# 1. KuduSync
if [[ "$IN_PLACE_DEPLOYMENT" -ne "1" ]]; then
  "$KUDU_SYNC_CMD" -v 50 -f "$DEPLOYMENT_SOURCE" -t "$DEPLOYMENT_TARGET" -n "$NEXT_MANIFEST_PATH" -p "$PREVIOUS_MANIFEST_PATH" -i ".git;.hg;
.deployment;deploy.sh"
  exitWithMessageOnError "Kudu Sync failed"
fi

# 2. Select node version
selectNodeVersion

# 3. Install npm packages for root directory
if [ -e "$DEPLOYMENT_TARGET/package.json" ]; then
  cd "$DEPLOYMENT_TARGET"
  # echo "Running $NPM_CMD install --production for root directory"
  # eval $NPM_CMD install --production
  echo "Running $NPM_CMD install --production for root directory"
  eval $NPM_CMD install …
Run Code Online (Sandbox Code Playgroud)

azure node.js azure-web-app-service next.js

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

ForEach 循环内的 VStack 不尊重 WatchOS 中的对齐参数

我在 a 内的循环内部有一个VStackwith 对齐,并且对齐参数没有得到尊重。如果我有一个循环外部,则正在使用对齐参数并且视图会正确显示。.leadingForEachScrollViewVStackForEach

    ScrollView{
        // THIS DISPLAYS CORRECTLY
        VStack(alignment: .leading){
            Text("namename")
                .font(.headline)
                .lineLimit(1)
            Text("namename  name")
                .font(.subheadline)
                .lineLimit(1)
        }
        .padding()
        .frame(minWidth: 0, maxWidth: .infinity)
        .background(Color.gray.opacity(0.20))
        .cornerRadius(5)
        .padding(.bottom)

        ForEach(self.list_of_names, id: \.self) { item in
            // THIS DOES NOT DISPLAY CORRECTLY
            VStack(alignment: .leading){
                Text(item)
                    .font(.headline)
                    .lineLimit(1)
                Text(item + " name")
                    .font(.subheadline)
                    .lineLimit(1)
            }
            .frame(minWidth: 0, maxWidth: .infinity)
            .background(Color.gray.opacity(0.20))
            .cornerRadius(5)
            .padding(.bottom)
        }

    }
    .padding()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

第一行对齐正确,位于ForEach循环外部,同时其他行位于循环内部。蓝线代表我突出显示循环VStack内的每条线ForEach

swift watchos swiftui swiftui-list

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

将信息从技能存储/发送到Microsoft虚拟助手

我使用的是Microsoft Bot框架(4.x),我们已经设置了虚拟助手以及一些技能。当前,我们正在尝试让用户以某种特定技能打断当前对话,然后跳到新对话。我们想要添加功能,然后使我们能够跳回到用户放弃上一个现有技能的地方。

我的问题是,是否有可能将信息从技能传递给在整个对话过程中始终存在的虚拟助手?该信息将是字符串列表或类似性质的东西

c# chatbot botframework azure-bot-service

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

无法在 SwiftUI、WatchOS 上使用 TabView

有没有办法在 WatchOS 上使用 SwiftUI 使用 TabView?

我看过大部分 WWDC 的演讲,但他们没有提到 WatchOS。此外,在苹果文档中,它没有在 SDK 下枚举。

每当我尝试将它添加到 WatchOS 项目时,我都会收到以下错误:

'TabView' is unavailable in watchOS

或者是否有复制所需 TabView 的好方法?

我想要类似的东西: 在此处输入图片说明 只需水平滑动即可更改的两个不同页面。

xcode swift swiftui watchos-6

5
推荐指数
2
解决办法
1571
查看次数

在 WatchOS 上的 SwiftUI 中使用多个托管控制器

WKHostingController我正在尝试在 SwiftUI WatchOS 项目中使用多个。

我希望能够从 1 个控制器变为 3 个控制器。

在此输入图像描述

用户将按下第一个按钮ContentView(1)(与 配对HostingController(1)),然后将其导航到 3 组集中的中间控制器HC3(或HostingController3,带有标识符HC3

代码如下:

struct ContentView: View {
    var body: some View {
        VStack{
            NavigationLink(destinationName: "HC3"){
                Text("Go to other wk")
            }
        } 
    }
}
Run Code Online (Sandbox Code Playgroud)

主机控制器:

class HostingController: WKHostingController<AnyView> {
    override var body: AnyView {
        return AnyView(ContentView())
    }
}
Run Code Online (Sandbox Code Playgroud)

这确实带我到HC3但我无法导航到HC2HC4创建用户可以在HC2HC3和之间滚动的多个页面视图HC4。HostingController 2-4 都有与上面类似的 HostingController 和 ContentView。

我还确定了HC2和 …

swift apple-watch watchos swiftui watchos-6

5
推荐指数
0
解决办法
759
查看次数

创建一个React应用,并禁用仅在开发中可见的屏幕

有没有办法禁用此屏幕?我还不想运行生产版本。

编辑:在create-react-app下,您可以选择进行开发构建或生产构建。它们分别在端口:3000或:5000上运行。在生产版本下,发生错误时将禁用此屏幕。在开发版本中,当发生错误或即将发生崩溃时,将显示此屏幕。问题是我想在开发版本BUT下运行此程序,而不会在出现错误时显示此错误屏幕。为什么不只解决错误?我要去,但是因为这是面向客户的,所以我不希望在发生错误时显示此屏幕。

在此处输入图片说明

javascript reactjs create-react-app

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