我希望在点击文本字段时删除文本

Posted

技术标签:

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

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

【问题讨论】:

您应该简单地设置placeholder 属性,而不是设置这些字段的text 属性。 【参考方案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 究竟想要达到什么目的。他是否想每次都删除文本,例如某些密码情况。

以上是关于我希望在点击文本字段时删除文本的主要内容,如果未能解决你的问题,请参考以下文章

带有“清除按钮”的 UI 自动化清除文本字段

为啥当我点击文本字段时工具栏不显示?

Flutter 在点击时生成文本字段

单击按钮时附加新文本字段并通过单击 Laravel 4 中的按钮删除

IOS swift - 如何在点击文本字段时打开新视图控制器后结束文本字段中的编辑

文本字段点击正在关闭 SwiftUI 中的导航链接