小编Ric*_*son的帖子

圆形 LinearGradient 上的 ContextMenu 在 SwiftUI 中产生锐边

我有以下观点:

struct ContentView: View {
    var body: some View {
        LinearGradient(gradient: Gradient(colors: [.blue, .red]), startPoint: .topTrailing, endPoint: .bottomLeading)
            .cornerRadius(16)
            .frame(width: 140, height: 140)
            .contextMenu {
                Button("", action: {})
            }
    }

}
Run Code Online (Sandbox Code Playgroud)

但是,当 ContextMenu 被调用时,边缘不会被倒圆:

在此处输入图片说明

我尝试了几件事,例如:

  • 应用clipShape修改器将其剪辑到RoundedRectangle
  • 将渐变包装为 RoundedRectangle 视图的背景
  • 使用 Color 而不是 LinearGradient (按预期工作,但不是我需要的)

然而没有工作。任何建议将不胜感激,谢谢!

gradient contextmenu view swift swiftui

13
推荐指数
2
解决办法
803
查看次数

SwiftUI:如何使项目的拖放重新排序工作?

我有以下 SwiftUI 视图:

struct ContentView: View {
    @State var model: Model
    
    var body: some View {
        ScrollView {
            LazyVGrid(columns: columns, spacing: 10) {
                ForEach(model.events, id: \.self) { event in
                    CardView(event: event)
                }
                .onMove { indices, newOffset in
                    model.events.move(fromOffsets: indices, toOffset: newOffset)
                }
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,似乎没有onMove执行闭包。我相信这是因为所有的手势都只给了ScrollView,所以内在的观点不会接受手势。

我尝试将此视图转换为 a List,但是我不想要行分隔符,我认为在 iOS 14 中无法隐藏。

所以,我想知道我需要改变什么才能让它允许用户拖放CardViews 来重新排序它们。谢谢!

scrollview gesture ios swift swiftui

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

具有“App”协议深度链接的 SwiftUI macOS 应用程序打开新的应用程序实例

这是使用新协议App@main.

使用流程:

  • 用户启动应用程序并单击打开特定网页的按钮
  • 网页最终重定向到应用程序的 URL 方案,打开应用程序并调用onOpenURL(_:)

预期行为:深层链接被发送到现有的当前打开的应用程序实例

实际行为:启动一个新的应用程序实例,导致该应用程序的两个实例处于活动状态

注意:实际上不需要添加任何代码,因为问题仅取决于向应用程序添加 URL 方案并让网页访问它。

macos deep-linking swiftui

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

用 Node 连接 Redis 和 Docker

我有一个只有一个进程的 Heroku 应用程序。我正在尝试更改它,以便它在专用队列中有多个工作进程来处理传入的 webhook。为此,我将 Node.JS 后端与使用 Redis的BullThrong包一起使用。所有这些都部署在 Docker 上。

我找到了涵盖其中一些组合的各种教程,但不是全部,所以我不确定如何继续。当我启动 Docker 时,主服务器运行,但是当工作进程尝试启动时,它只是记录Killed,这不是错误消息的详细信息。

我找到的大部分信息都在这里

我的工作进程文件是worker.ts

import { bullOptions, RedisData } from '../database/redis';
import throng from 'throng';
import { Webhooks } from '@octokit/webhooks';
import config from '../config/main';
import { configureWebhooks } from '../lib/github/webhooks';
import Bull from 'bull';

// Spin up multiple processes to handle jobs to take advantage of more CPU cores
// See: https://devcenter.heroku.com/articles/node-concurrency for more info
const workers = 2;

// …
Run Code Online (Sandbox Code Playgroud)

redis node.js docker

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

Multer 的 AWS S3 Node.js SDK“NotImplemented”错误

我正在尝试设置一个端点以将文件上传到 AWS S3 存储桶。我正在使用 Node.JS、Express、AWS S3 SDK 和 Multer 库。

这是我当前用于上传中间件的代码:

export const uploadMiddleware = multer({
  storage: {
    _handleFile(
      req: Request,
      file: Express.Multer.File,
      callback: (error?: any, info?: Partial<Express.Multer.File>) => void
    ) {
      const key = crypto.randomBytes(16).toString('hex');
      s3.send(
        new PutObjectCommand({
          Bucket: 'my-bucket',
          Body: file.stream,
          Key: key,
          ContentLength: file.size,
          ContentType: file.mimetype,
        }),
        (err, output) => {
          if (err) {
            console.log(err);
            callback(err, undefined);
          } else {
            console.log(output);
            callback(null, file);
          }
        }
      );
    },
    _removeFile(
      req: Request,
      file: Express.Multer.File,
      callback: (error: Error) => void …
Run Code Online (Sandbox Code Playgroud)

amazon-s3 amazon-web-services node.js express multer

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

Dart 给出未处理的异常:类型不是“值”类型的子类型

我有一个抽象类ImageUpdate。两个类,NewImageExistingImage实现ImageUpdate.

我有一个imageUpdates类型的变量List<ImageUpdate>

当我尝试将类型变量添加NewImage到列表时,出现以下错误:

Unhandled Exception: type 'NewImage' is not a subtype of type 'ExistingImage' of 'value'
Run Code Online (Sandbox Code Playgroud)

我很困惑,因为列表是 ofImageUpdate而不是ExistingImage,所以我不知道如何调试它,特别是因为 Dart 是类型安全的(我没有在任何地方使用dynamic)。

types casting dart

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

错误:`'(@lvalue String) -&gt; Text' 在 SwiftUI 中不能转换为 '(String) -&gt; Text'`

有时,Text(_:)在 SwiftUI 中使用时,我会收到错误'(@lvalue String) -> Text' is not convertible to '(String) -> Text'。这完全随机发生,并且与 SwiftUI 视图或文本内容无关。它偶尔会自行修复,有时我必须重新启动计算机,有时我必须创建一个新的 SwiftUI 文件。所以我想知道这个错误是否真的意味着什么,或者它只是一个测试版错误?谢谢。

注意:我不包括任何其他代码,因为这发生在任何SwiftUI 文件中,而不管任何其他代码。它完全依赖Text

swift swiftui

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