我正在 SwiftUI 中使用 ForEach 制作自定义列表。我的目标是进行滑动删除手势,而不是将 ForEach 嵌入到列表中。
到目前为止,这是我的代码:
import SwiftUI
struct ContentView: View {
let list = ["item1", "item2", "item3", "item4", "item5", "item6"]
var body: some View {
VStack {
List{
ForEach(list, id: \.self) { item in
Text(item)
.foregroundColor(.white)
.frame(maxWidth: .infinity)
.padding()
.background(Color.red)
.cornerRadius(20)
.padding()
}
}
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
Run Code Online (Sandbox Code Playgroud)
我似乎找不到一种手势可以让我在不使用列表视图的情况下进行滑动删除。
我还想制作一个自定义删除按钮,当用户向左滑动项目时显示该按钮(如下图所示)。
对于 SwiftUI,这是我当前的代码:
import SwiftUI
enum Items: String, CaseIterable, Equatable {
case item1
case item2
case item3
case item4
case item5
case item6
}
struct GridPicker: View {
var rows: [GridItem] = Array(repeating: .init(.flexible()), count: 3)
@State var isPressed = false
var body: some View {
NavigationView {
ScrollView(.horizontal) {
LazyHGrid(rows: rows) {
ForEach(Items.allCases, id: \.self) { value in
Button(action: {
isPressed = true
}, label: {
Text(value.rawValue)
.tag(value)
.foregroundColor(isPressed ? .purple : .white)
})
.frame(width: 85, height: 85)
.background(isPressed ? …Run Code Online (Sandbox Code Playgroud) 你知道我如何使用 SwiftUI 实现像 Apple 的“提醒”应用程序那样的拖放结果吗?如果没有,我怎么能用 UIKit for SwiftUI 为拖放功能做一个 UIViewRepresentable(来自 UIKit)?
请看下面的图片。
任何建议将不胜感激。
我试图运行 sudo gem install cocoapods 来安装它,但仍然是同样的问题。
请注意,我正在开发频道中使用最新的 flutter 版本运行 xcode 12。
有任何想法吗?
运行 flutter build 后出错:
如何在 SwiftUI 中制作具有某种风格的文本编辑器?似乎文本编辑器不能像文本字段那样可定制。
我怎样才能达到这样的结果(这里用户的文本是白色的)?
我的问题是如何在文本编辑器中将文本颜色设置为白色并设置背景颜色。
对于 SwiftUI,所有 @Published 变量都需要在视图模型中具有初始值(我符合 MVVM)吗?
为什么我不能直接说我想要没有初始值的字符串类型的 @Published 变量?
如果不是,我该如何解决这个问题?
我正在考虑为该类创建一个 init() ,但在初始化该类时我仍然需要输入默认值。
我如何区分 Swift 中的通用值是什么?
例如,值“T”做什么,值“E”做什么?
func ??<T, E>(result: Result<T, E>, handleError: (E) -> T) -> T {
switch result {
case let .success(value):
return value
case let .failure(error):
return handleError(error)
}
}
Run Code Online (Sandbox Code Playgroud) 下面的代码中的 `` 默认值是什么意思?
你想在什么情况下使用它?
static let `default` = User(id: UUID(), name: "Anonymous")
Run Code Online (Sandbox Code Playgroud)
提前谢谢
可选扩展中的 swift 关键字 Wrapped 意味着什么?
extension Optional {
func flatMap<U>(_ transform: (Wrapped) -> U?) -> U? {
guard let x = self else { return nil }
return transform(x)
}
}
Run Code Online (Sandbox Code Playgroud)