小编Nic*_*vit的帖子

如何在 SwiftUI 中设置图像色调?

我正在尝试在 SwiftUIImage类中设置图像色调

对于 UIKit,我可以使用设置图像色调

let image = UIImage(systemName: "cart")!.withTintColor(.blue)
Run Code Online (Sandbox Code Playgroud)

但我在 swiftui 文档中找不到这样的设置

swiftui

29
推荐指数
4
解决办法
8486
查看次数

如何添加 SwiftUI 自定义 ButtonStyle 作为静态扩展

在 swiftui3 中,您可以像这样使用按钮样式快捷方式


Button("0") {print("pressed 0")}
    .buttonStyle(.bordered)

Run Code Online (Sandbox Code Playgroud)

我想用我的自定义按钮样式类来做到这一点

struct CrazyButtonStyle:ButtonStyle{
    func makeBody(configuration: Configuration) -> some View {
        configuration.label
            .foregroundColor(.red)
    }
}
Run Code Online (Sandbox Code Playgroud)

像这样称呼它

Button("0") {print("pressed 0")}
    .buttonStyle(.crazy)
Run Code Online (Sandbox Code Playgroud)

我努力了

extension ButtonStyle{
    static var crazy:CrazyButtonStyle {
        get {
            return CrazyButtonStyle()
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但我收到这个错误

Contextual member reference to static property 'crazy' requires 'Self' constraint in the protocol extension
Run Code Online (Sandbox Code Playgroud)

swift swiftui

9
推荐指数
1
解决办法
1239
查看次数

错误:使用未声明的类型 BindableObject

我正在关注 SwiftUI 放大应用程序的本教程,在创建符合 Bindable 对象的最终类时遇到此错误。

Error:Use of undeclared type 'BindableObject'

import Combine  
import SwiftUI  
import AWSAppSync  

final class TalkStore: BindableObject {
/*
    Required by SwiftUI
*/
    let didChange = PassthroughSubject<TalkStore, Never>()
    var listTalks: [ListTodosQuery.Data.ListTodo.Item] {
        didSet {
            didChange.send(self)
        }
    }

    //We will be using this later.
    private let appSyncClient: AWSAppSyncClient!

/*
    Init if running app is using SwiftUI Content View
*/
    init(talks: [ListTodosQuery.Data.ListTodo.Item]) {
        self.appSyncClient = nil
        self.listTalks = talks
    }
}
Run Code Online (Sandbox Code Playgroud)

苹果是否有可能更改了类名?
我怎么知道?

ios swift aws-amplify swiftui

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

与 SSH 密钥相比,使用 GPG 密钥签署 git commit 有哪些优势

我在大部分编程工作中使用 git,并在大部分提交中使用 SSH 密钥对其进行签名。但是,当我将 git 更新到版本 2.17.1 时,git 默认使用 GPG 密钥而不是 SSH 密钥进行签名。

我想知道使用 GPG 密钥相对于 SSH 密钥有哪些优点和缺点,以及为什么 git 将 GPG 设置为默认密钥。

git ssh gnupg

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

检查当前激活的 conda 环境

我想知道是否有一种简单的方法来检查当前激活了哪个 conda 环境。

我知道您可以做到conda env list,并且活动环境将打印为 *. 但是,我想以编程方式执行此操作作为 else if 语句的输入。

解析 conda env list 的输出相当不方便,所以我希望有更简单的方法

linux bash anaconda miniconda

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

[project] 的 Xcode 功能警告可能无法正常运行,因为其权利使用占位符团队 ID

我是 Xcode 的新手。刚开始单视图项目,遇到如下错误。

项目名称:Pitch Perfect xcode 版本:10.2.1 osx 版本:10.14.5

:-1: Capabilities for Pitch Perfect may not function correctly because its entitlements use a placeholder team ID. To resolve this, select a development team in the build settings editor. (in target 'Pitch Perfect')
Run Code Online (Sandbox Code Playgroud)

在构建选项中更改安装组/所有者

签到区截图 在此处输入图片说明

添加了截图

xcode entitlements ios swift

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

如何使用 json_dataclass 解码以保留名称作为键的 json?

我正在尝试使用dataclasses_jsondataclass_json模块解码从api 收到的 json ,但是调用了一个 json 字段,它是 python 保留关键字。我该如何定义它们?class

{'some_var': False,
 'class': '/12345.jpg'}
Run Code Online (Sandbox Code Playgroud)

我试过这个

{'some_var': False,
 'class': '/12345.jpg'}
Run Code Online (Sandbox Code Playgroud)
@dataclass_json
@dataclass
class Media:
  some_var: str
  class: str ### error because class is a reserved keyword
Run Code Online (Sandbox Code Playgroud)

但由于“class”是保留关键字而出现错误。

python json python-3.x

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

单元测试模块导入引发未定义符号错误

我正在尝试使用此代码导入我的类

import XCTest
@testable import Test2

class Tests_iOS: XCTestCase {
    var test2:TestModule2!
    
    override func setUp() {
        let test2 = TestModule2()
    }
}
Run Code Online (Sandbox Code Playgroud)

但是 xcode 抛出未定义的符号错误

Undefined symbol: nominal type descriptor for Test2.TestModule2
Undefined symbol: type metadata accessor for Test2.TestModule2
Undefined symbol: Test2.TestModule2.__allocating_init() -> Test2.TestModule2
Run Code Online (Sandbox Code Playgroud)

我使用 UIKit 的旧 xcode 11 代码不会发生这种情况。

在此输入图像描述

这个错误的原因是什么以及如何正确导入模块。

系统规格

Mac M1 16GB
OS: Big Sur 11.4
Xcode: Version 13.0 beta (13A5154h)
Run Code Online (Sandbox Code Playgroud)

xcode ios swift

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

如何为 swiftUI 设置初始视图控制器

我通常使用情节提要通过单击属性检查器将视图控制器设置为初始视图控制器。

如何在 swift UI 中设置初始视图控制器?

系统信息:Swift 5,Xcode 11.3.1。

swift swiftui

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

使用 SwiftUI 呈现多个模态表

我正在尝试使用 .sheet 演示文稿将多个模态视图附加到 NavigationView。

我尝试将 .sheet 链接在一起只是为了发现当绑定变量更改时只能触发最后一个显示

有没有办法为多个模态做到这一点?

var body: some View {
NavigationView {
     ZStack(alignment: .leading) {
             MainView()
                }
                // present profile page
                .sheet(isPresented: self.$presentation.profile){
                    ProfilePage()
                }

                // present product page
                .sheet(isPresented: self.$presentProduct) {
                    SingleProductView()
                }

                //present login
                .sheet(isPresented: self.$showLogin) {
                    LoginView(showLogin:self.$showLogin)
                }

                //present cart
                .sheet(isPresented: self.$showCart) {
                    CartView()
                }

                // set title
                .navigationBarTitle("Title", displayMode: .inline)

                // set items
                .navigationBarItems(leading: (
                    NavigationBarLeadingItems()
                ),trailing: (
                    NavigationBarTrailingItems()
                    )
                )

Run Code Online (Sandbox Code Playgroud)

iphone ios swift swiftui

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

我如何将 NSString 转换为 String

我试图将 NSString 从文本字段转换为标准字符串,以便我可以检查它是否包含某个字符。

我试过了

var nSStringText = textField.text! as NSString
var stringText = nSStringText as String

Run Code Online (Sandbox Code Playgroud)
output

'NSString' is not convertible to 'String'
Run Code Online (Sandbox Code Playgroud)

swift

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

使用 boto3 通过 AWS Transfer Acceleration 进行 AWSsignedURL

如何使用boto 3生成加速传输signedURL?

我可以通过以下方式生成标准的signedURL

client = boto3.client('s3')
parameters = {
      'Bucket' : bucket,
      'Key' : key
}
signed_url = client.generate_presigned_url(
      'get_object',
      Params = parameters,
      ExpiresIn = 300000
)
Run Code Online (Sandbox Code Playgroud)

但如果有使用加速端点的选项,我在亚马逊 boto3文档中找不到任何地方

python boto3

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

标签 统计

swift ×7

swiftui ×5

ios ×4

python ×2

xcode ×2

anaconda ×1

aws-amplify ×1

bash ×1

boto3 ×1

entitlements ×1

git ×1

gnupg ×1

iphone ×1

json ×1

linux ×1

miniconda ×1

python-3.x ×1

ssh ×1