【问题标题】:I want the text to be deleted when I tap on textfield我希望在点击文本字段时删除文本
【发布时间】:2016-09-22 00:52:57
【问题描述】:

我正在制作一个简单的应用程序,其中包含文本字段。当应用程序启动时,我的文本字段中有示例。我希望在用户点击 textField 时删除这些文本示例。有人可以帮帮我吗?

【问题讨论】:

  • 您应该简单地设置placeholder 属性,而不是设置这些字段的text 属性。

标签: ios uitextfield


【解决方案1】:

我认为您正在尝试使用占位符创建文本字段。

此链接可能对您有所帮助。

Placeholder in UITextView

【讨论】:

  • 您为什么要链接到有关在 UITextView 中放置占位符的问题?这个问题是关于UITextField
【解决方案2】:

只需在您的 SpriteKit 游戏中的 didMoveToView 方法下方添加它

override func touchesBegan(touches: Set<UITouch>, with Event event: UIEvent?) {

for touch in touches {
    let location = touch.locationInNode(self)
       if nodeAtPoint(location) = textField {
          textField.removeFromParent()
            }
       }
     }

【讨论】:

    【解决方案3】:

    您可以在 UITextField 中设置 Placeholder 文本。每当点击 UITextField 时,占位符文本就会消失。

    或者,您可以使用以下 UITextFieldDelegate 方法

    Objective-C

     - (void)textFieldDidBeginEditing:(UITextField *)textField {
       textField.text = ""
    }
    

    斯威夫特

    func textFieldDidBeginEditing(textField: UITextField) {
      textField.text = ""
    }
    

    【讨论】:

    • 终于有一个有道理的答案了。
    • 这里只有一个问题:一旦用户开始编辑,任何文本都会在您的情况下被清除(使用text 而不是placeholder 属性时)。至少应该将内容与“初始”内容进行比较,并明确它们是否(且仅当)它们匹配。
    • 目前尚不清楚@lucca910 究竟想要达到什么目的。他是否想每次都删除文本,例如某些密码情况。
    猜你喜欢
    • 2022-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-18
    • 2023-01-27
    • 2015-01-09
    • 2021-02-07
    相关资源
    最近更新 更多