当文本与文本字段大小相同时,如何停止在文本字段中输入字符?

Posted

技术标签:

【中文标题】当文本与文本字段大小相同时,如何停止在文本字段中输入字符?【英文标题】:How to stop typing characters in textfield when text is the same size as textfield? 【发布时间】:2015-11-21 19:34:43 【问题描述】:

我想找到一种方法,当字符完全填满文本字段时,让用户输入但不会向文本字段添加任何新字符(如 Snapchat)。我只在 Objective-C 中看到过这个,我无法将它翻译成 Swift。有人可以帮忙吗?谢谢!

【问题讨论】:

我猜你想限制文本字段中的字符数?您可以发布您想要快速等效的目标 c 代码吗? @UsamaArshad 对不起,我刚回来。但 Rashwan Lazkani 回答了我的问题。但是感谢您的帮助! :) 【参考方案1】:

你可以这样做:

@IBAction func textField_EditingChanged(sender: AnyObject) 
            //Set your font and add attributes if needed.
            let stringSize: CGSize = textField!.text!.sizeWithAttributes([NSFontAttributeName: textField.font!])

            if (stringSize.width > textField.bounds.width - 20)
                textField.deleteBackward()
            
    

我添加了 - 20,因为我想确保没有添加像“i”、“1”等小字符。

【讨论】:

谢谢!你是一个救生员。

以上是关于当文本与文本字段大小相同时,如何停止在文本字段中输入字符?的主要内容,如果未能解决你的问题,请参考以下文章

当文本字段开始编辑时停止 UITableView 滚动

iOS:在顶部选择文本字段时停止 ScrollView 腾出空间

滚动到滚动视图/滚动视图中的特定文本字段 当键盘在屏幕上时停止滚动

如何在 QT Designer 中指定默认文本光标小部件

Extjs - 当Compositefield中的项目增长/调整大小时如何调整兄弟姐妹的位置

文本字段背景图像大小