限制直接输入 UITextView 或 UITextField 的字符串的问题之前已在 SO 上得到解决:
- iPhone SDK:设置文本字段的最大字符长度 https://stackoverflow.com/questions/433337/iphone-sdk-set-max-character-length-textfield
- iPhone sdk 3.0问题 https://stackoverflow.com/questions/896659/iphone-sdk-3-0-issue
然而,现在操作系统 3.0 的复制粘贴变成了一个问题,因为上述 SO 问题中的解决方案不会阻止粘贴其他字符(即,您不能在使用上述解决方案配置的字段中输入超过 10 个字符,但您可以可以轻松地将 100 个字符粘贴到同一字段中)。
有没有办法防止直接输入字符串and粘贴的字符串溢出?
我能够通过遵守 UITextViewDelegate 协议中的 textViewDidChange: 方法来限制输入和粘贴的文本。
- (void)textViewDidChange:(UITextView *)textView
{
if (textView.text.length >= 10)
{
textView.text = [textView.text substringToIndex:10];
}
}
但我仍然认为这种丑陋的黑客行为,似乎苹果应该为 UITextFields 和 UITextViews 提供某种“maxLength”属性。
如果有人知道更好的解决方案,请告诉。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)