UITextField 在编辑时剪切文本
Posted
技术标签:
【中文标题】UITextField 在编辑时剪切文本【英文标题】:UITextField cuts the text while editing 【发布时间】:2016-08-09 09:55:59 【问题描述】:我想请你帮忙解决这个问题。 我得到了 UITextField,它只能占用 2 个字符。当应用程序启动时,会有一个带有 YY 字符的占位符。当用户开始编辑并插入数字时,一切都很好。编辑文本字段后,第一个数字被剪切,看起来像向左移动,但是当我删除两个数字并再次写入它们时,即使经过反复编辑,一切正常。
我尝试了很多选项,甚至日志显示,文本字段的边界宽度:20.000000 高于文本宽度的大小:17.979492
这里是计算文本大小的代码
-(CGFloat)lengthOfTextField:(NSString *)textField
CGSize textSize = [textField sizeWithAttributes:@NSFontAttributeName:[UIFont systemFontOfSize:17.0f]];
CGFloat width = textSize.width;
return width;
这是设置文本框框架的代码
-(void)setYearPosition
if(self.yearField.text.length >= 2)
self.yearField.frame = CGRectMake(self.yearField.frame.origin.x,
self.yearField.frame.origin.y,
[self lengthOfTextField:self.yearField.text] + 10,
self.yearField.frame.size.height);
感谢您的帮助。
【问题讨论】:
【参考方案1】:在您的 ViewDidLoad 方法中尝试此代码
[self.view layoutIfNeeded];
希望这会有所帮助。
【讨论】:
以上是关于UITextField 在编辑时剪切文本的主要内容,如果未能解决你的问题,请参考以下文章