我正在制作一个 swiftUI 应用程序,我需要一个按下时会出现的按钮
我已经成功做到了这一点,但是,它需要一个文本字段。用户可以查看此文本字段,对其进行编辑以及放置 1 个以上表情符号。我不想要这个。
我想要这样的东西:
这是我的代码
import SwiftUI
struct ContentView: View {
@State private var text: String = ""
var body: some View {
VStack {
TextField("", text: $text)
Button(text) {
// Show character palette for the focused text field
NSApp.orderFrontCharacterPalette($text)
}.frame(width: 30, height: 30)
.buttonBorderShape(.circle)
Button("Print Emoji") {
print(text)
}.padding()
}.padding()
}
}
如何使用默认表情符号选择器删除文本字段,同时仍获得相同的输出。如果用户看不到它,我可以保留文本字段,您只能通过选择表情符号来输入它,只允许一个字符,当选择第二个表情符号时,变量将被替换。
SwiftUI 中似乎没有本地方法可以做到这一点。然而,有一些库比如这个可以满足你的需求。记得先导入包!
示例代码:
import SwiftUI
import EmojiPalette
struct ContentView: View {
@State private var text: String = "😀"
@State var showSheet = true
var body: some View {
VStack {
Button(text) {
showSheet.toggle()
}
.frame(width: 30, height: 30)
.buttonBorderShape(.circle)
.emojiPalette(selectedEmoji: $text, isPresented: $showSheet)
Button("Print Emoji") {
print(text)
}
.padding()
}
.padding()
}
}