小编Rob*_*ert的帖子

在 SwiftUI 中的列表内的项目中添加 contextMenu

我创建了一个照片库,每个单元格中都有包含许多单元格的列表。有几个UIImages。我添加了图像的 contextMenu ,但是当我长按每个图像时,将调用整个单元格而不是每个图像。谁能帮助我如何将 contextMenu 添加到列表中的每个项目

struct PhotoList : View {

var photoLibrary = PhotoLibrary

var body : some View {
    GeometryReader { geometry in
        List(self.photoLibrary, id: \.self) { imageSet in
            HStack (alignment: .center) {
                ForEach(imageSet, id: \.self) { image in
                    Image(uiImage: image)
                        .scaledToFill()
                        .cornerRadius(7)
                        .padding(3)
                        .frame(width: 150, height: 150, alignment: .center)
                        .contextMenu {
                            VStack {
                                Button(action: {}) {
                                    HStack {
                                        Text("Add to Today")
                                        Image("plus.circle")
                                    }
                                }
                            }
                    }

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

}

contextmenu swiftui

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

停止在iOS 13中更改状态栏

我的应用程序中已有一个明暗主题。我还支持iOS 13暗模式,问题是,即使选择了应用的亮或暗模式,更改iOS主题也会导致更改状态栏颜色,因此当ios暗模式打开时,状态栏在我的应用中的浅色主题。我试图通过此代码块来阻止它,但是在我的情况下它不起作用:

override var preferredStatusBarStyle: UIStatusBarStyle {
    switch Appearance.theme {
    case .dark:
        return .lightContent
    case .light:
        if #available(iOS 13.0, *) {
            return .darkContent
        } else {
            return .default
        }
    case .apple:
        return .default
    }
}
Run Code Online (Sandbox Code Playgroud)

我在他的分割视图控制器中添加了它,在每个控制器中也添加了它,但是没有任何变化。有谁知道如何解决?我ASLO有同样的问题UITabbarUISegmentedControl

我应该以某种方式说,当选择我的应用中的明暗模式时,更改iOS主题应该会影响应用程序元素(状态栏,标签栏,UISegmentedControl)

非常感谢

statusbar swift ios13

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

iOS13 中的 ContextMenuConfigurationForRowAt

在 WWDC19 季节的这个视频中,Modernizing Your UI for iOS 13,这个方法是创建一个上下文菜单,但我在使用它时出现错误:

@available(iOS 13.0, *)
func tableView(_ tableView: UITableView, contextMenuConfigurationForRowAt indexPath: IndexPath, point: CGPoint) -> UIContextMenuConfiguration? {
    let actionProvider = (suggestedActions: [UIMenuElement])-> UIMenu? // in this line i got an error {
        let editMenu = UIMenu(title: "Edit...", children: [
        UIAction(title: "Copy") {},
        UIAction(title: "Duplicate") {}
        ])
        return UIMenu(children: [
        UIAction(title: "Share") {},
        editMenu,
        UIAction(title: "Delete", style: .destructive) {}
        ])
    }

    return UIContextMenuConfiguration(identifier: "unique-ID" as NSCopying,
                                      previewProvider: nil,
                                      actionProvider: actionProvider)
}
Run Code Online (Sandbox Code Playgroud)

错误出现在行中 -> …

contextmenu swift ios13

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

标签 统计

contextmenu ×2

ios13 ×2

swift ×2

statusbar ×1

swiftui ×1