【问题标题】:UITextField cuts the text while editingUITextField 在编辑时剪切文本
【发布时间】: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


    【解决方案1】:

    在您的 ViewDidLoad 方法中尝试此代码

    [self.view layoutIfNeeded];
    

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-12
      • 1970-01-01
      • 2012-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多