我在 swiftUI 中创建了一个圆圈,我想用正弦波动画填充它以实现水波效果/动画。我想用类似的外观填充它:
下面是我的代码:
import SwiftUI
struct CircleWaveView: View {
var body: some View {
Circle()
.stroke(Color.blue, lineWidth: 10)
.frame(width: 300, height: 300)
}
}
struct CircleWaveView_Previews: PreviewProvider {
static var previews: some View {
CircleWaveView()
}
}
Run Code Online (Sandbox Code Playgroud)
我想主要在 SwiftUI 上实现它,以便我可以支持暗模式!谢谢您的帮助!
因为 onDelete 和 onMove 是 List/form 的功能,所以当我有没有它们的自定义界面时,我无法使用它们。我在 ForEach 中使用了 VStack。我对 swiftUI 很陌生,不确定如何为 onDelete 和 onMove 实现自定义代码。
这是我的代码:
struct Trying: View {
@State private var numbers = [0,1,2,3,4,5,6,7,8,9]
var body: some View {
NavigationView {
VStack (spacing: 10) {
ForEach(numbers, id: \.self) { number in
VStack {
Text("\(number)")
}
.frame(width: 50, height: 50)
.background(Color.red)
}.onDelete(perform: removeRows)
}
.navigationTitle("Trying")
.navigationBarItems(trailing: EditButton())
}
}
func removeRows(at offsets: IndexSet) {
numbers.remove(atOffsets: offsets)
}
}
Run Code Online (Sandbox Code Playgroud)
它现在的工作方式:
可以使用 inputAccessoryView 在 UIKit 中的键盘上方创建一个工具栏。但对于 SwiftUI 如何做到这一点呢?因为,SwiftUI 不支持 inputAccessoryView (基于我在网上查找的内容)。我对 UIKit 和 Objective-C 的了解有限,所以不知道如何将 SwiftUI 和 UIKit 结合起来
\nimport SwiftUI\nimport Combine\n\nstruct TipsView: View {\n @State private var amount = ""\n \n var body: some View {\n NavigationView {\n Form {\n Section (header: Text("Amount")) {\n HStack (spacing: 1) {\n if !amount.isEmpty {\n Text("\xc2\xa3")\n }\n TextField("Amount", text: $amount)\n .keyboardType(.decimalPad)\n .onReceive(Just(amount)) { newValue in\n let filtered = newValue.filter { "0123456789.".contains($0)}\n if filtered != newValue {\n amount = filtered\n }\n }\n }//HStack\n …Run Code Online (Sandbox Code Playgroud)