首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在textField末尾添加%符号( swiftUI )

如何在textField末尾添加%符号( swiftUI )
EN

Stack Overflow用户
提问于 2022-03-29 10:10:37
回答 3查看 287关注 0票数 1

我想要做一个自定义的文本字段,它将显示数量和(%)符号,请任何人告诉我如何才能做到这一点。如果我输入12,它应该自动插入12%

在UIKit中,它将类似于textField.text =“(文本) %”

代码语言:javascript
运行
复制
struct UiTextFieldRepresentable: UIViewRepresentable {
    @Binding var text: String
    func makeUIView(context: Context) -> some UIView {
        let textField = UITextField(frame: .zero)
        textField.placeholder = "Enter your text"
        textField.text = "\(text) %"
        return textField
    }
    func updateUIView(_ uiView: UIViewType, context: Context) {
    }
}

这段代码的问题是,在我开始编写之前,它正在显示%签名。我想要的是,当我开始在字段中写作时,它应该在%符号后缀

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2022-07-28 05:45:55

为此,我做了一个函数,在右边放了一个图像,作为解决问题的百分比。

代码语言:javascript
运行
复制
    func makeUIView(context: Context) -> UITextField {
        let textField = UITextField(frame: .zero)
        textField.delegate = context.coordinator
        textField.tintColor = UIColor.clear
        textField.rightView = makeImageForTextField()
        textField.rightViewMode = .always
        textField.keyboardType = .decimalPad
                let toolBar = UIToolbar(
                    frame: CGRect(
                        x: 0, y: 0,
                        width: textField.frame.size.width,
                        height: 44
                    )
                )
                let doneButton = UIBarButtonItem(
                    title: "Done",
                    style: .done,
                    target: self,
                    action: #selector(textField.doneButtonTapped(button:))
                )
        
                toolBar.items = [doneButton]
                toolBar.setItems([doneButton], animated: true)
                textField.inputAccessoryView = toolBar
        return textField
    }
    
    private func makeImageForTextField() -> UIButton {
        let button = UIButton()
        button.setImage(UIImage(systemName: "percent"), for: .normal)
        button.tintColor = .black
        button.isUserInteractionEnabled = false
        return button
    }
票数 0
EN

Stack Overflow用户

发布于 2022-03-29 11:21:43

对于这种情况,请展示您的代码。因为我不确定这是一个实际的问题,也许在问之前你还没有开始编码。

你到底在做什么?要显示%符号,只需插入文本(没有格式化问题,它不是特殊的符号等等):

代码语言:javascript
运行
复制
struct ContentView: View {
    @State var number: Int = 12
    var body: some View {
        Text("$ \(number) %")
            .padding()
    }
}

你会得到你的观点:

票数 0
EN

Stack Overflow用户

发布于 2022-03-29 12:22:06

代码语言:javascript
运行
复制
TextField("", value: $input, format: .percent )
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71660158

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档