小编Ben*_*ria的帖子

如何将上下文菜单应用于 SwiftUI 列表行中的按钮?

当我长按列表行中的按钮时,会显示所有按钮的所有上下文菜单。看起来整个列表行都被选中了。我怎样才能让上下文菜单只显示按下的按钮?

我已经看到了这个有点相关的问题,并尝试了BorderlessButtonStyle(). 它使行中的单个按钮可点击,但它没有解决上下文菜单问题。我也试过使用.onTapGesture()而不是Button(),但这也不起作用。

在下面的示例中,我希望在长按按钮 1时只看到按钮 1 的操作 - 但也会显示按钮 2 的操作

在此处输入图片说明

struct ContentView: View {
    var body: some View {
        List {
            ForEach((1..<3), content: { _ in
                ListButton()
            })
        }
    }
}

struct ListButton: View {
    var body: some View {
        HStack {
            Spacer()

            Button("Button 1") { }
                .buttonStyle(BorderlessButtonStyle())
                .contextMenu(menuItems: {
                    Text("Action for button 1")
                })

            Spacer()

            Button("Button 2") { }
                .buttonStyle(BorderlessButtonStyle())
                .contextMenu(menuItems: {
                    Text("Action for button 2") …
Run Code Online (Sandbox Code Playgroud)

swift swiftui swiftui-list

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

为什么 Firestore 会舍入 64 位整数?

我试图在我的 Firestore 数据库中存储来自 python 程序的 64 位整数。问题是最后一位数字似乎四舍五入了。

doc = db.collection('questions').document('0MPvbeTEglD9lbpDq6xm')
ints = [9223372036854775807, 9223372036854775533, 9223372036854775267]
doc.update({
    'random': ints
})
Run Code Online (Sandbox Code Playgroud)

当我查看数据库时,它们存储为:

random = [9223372036854776000, 9223372036854776000, 9223372036854775000}

根据文档,支持 64 位有符号整数。可能是什么问题?

python integer google-cloud-firestore

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

如何在 Swift 中以编程方式访问系统颜色?

我正在尝试以编程方式将 UIButton 的背景颜色设置为 color UIColor.systemBlue,我认为根据UIColor的文档和颜色指南应该可以访问它。但是,我只能访问常规颜色,例如.blue.red。在界面构建器中,我可以选择systemBlue但不能以编程方式。

我正在使用 Xcode 10.3 并为 iOS 12.4 构建。

编辑:我已经看到了iOS 11.x system colors的问题,但这没有意义。在颜色指南中明确指出不应硬编码系统颜色值,而应使用 API。在 UIColor 文档中,系统颜色似乎可以作为 UIColor 的公共类变量访问。

uicolor ios swift

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