我想请你帮忙解决这个问题。 我得到了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);
}
}
感谢您的帮助。
答案 0 :(得分:-1)
在ViewDidLoad方法中尝试此代码
[self.view layoutIfNeeded];
希望这有帮助。