gpt4 book ai didi

ios - 如何从 UILabel 中删除最后输入的数字?

转载 作者:搜寻专家 更新时间:2023-11-01 05:47:34 25 4
gpt4 key购买 nike

如果我在标签中输入数字,如果输入有误,如何从 UILabel 中删除最后输入的数字?

我已经放置了一个按钮,用于从标签中删除最后一位数字。

按钮的名称是返回

enter image description here

import UIKit

class ViewController: UIViewController, UITextFieldDelegate {

@IBOutlet var lbltext: UILabel!
@IBOutlet var scrolview1: UIScrollView!
@IBOutlet var fi: UITextField!
@IBOutlet var scrolviewus: UIScrollView!
@IBOutlet var counterLabel: UILabel!
var isFirstTime = true

override func viewDidLoad() {
super.viewDidLoad()
}

override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}


@IBAction func button(sender: AnyObject) {
lbltext.numberOfLines = 0
lbltext.text! = lbltext.text! + "\n" + fi.text! + "\n" + "---"
}

@IBAction func back(sender: AnyObject) {

}
}

最佳答案

试试这个:

@IBAction func back(sender: AnyObject) {
if let text = lbltext.text {
lbltext.text = String(text.characters.dropLast())
}
}

因为你想删除的不仅仅是最后添加的数字,所以在一个名为 previous 的属性中保留标签的先前状态,并在按下 back 时恢复它:

var previous = ""

@IBAction func button(sender: AnyObject) {
lbltext.numberOfLines = 0
previous = lbltext.text!
lbltext.text! = lbltext.text! + "\n" + fi.text! + "\n" + "---"
}

@IBAction func back(sender: AnyObject) {
if !previous.isEmpty {
lbltext.text = previous
previous = ""
}
}

对于多级撤销,使用一个数组来保存你之前的标签:

var previous: [String] = []

@IBAction func button(sender: AnyObject) {
lbltext.numberOfLines = 0
previous.append(lbltext.text!)
lbltext.text = lbltext.text! + "\n" + fi.text! + "\n" + "---"
}

@IBAction func back(sender: AnyObject) {
if let last = previous.last {
lbltext.text = last
previous.removeLast()
}
}

关于ios - 如何从 UILabel 中删除最后输入的数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37087022/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com