【发布时间】: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);
}
}
感谢您的帮助。
【问题讨论】:
标签: ios objective-c xcode cocoa uitextfield