UITextField AdjustsFontSizeToFitWidth不起作用

anc*_*jic 5 uitextfield ios

在iOS 7 textField.adjustsFontSizeToFitWidth = YES上无效。minimumFontSize也已正确设置。我希望如果文本太长而无法放入textField的框架中,字体大小将减小。但是,实际上发生的是文本被剪切,并且在末尾附加了“ ...”。

我试过了:

  • 设置textField的宽度约束
  • 在包含视图的init方法以外的地方设置textField的字体

有任何想法吗?

编辑:

代码有点复杂,但是这里是:

self.captionView = [[CaptionView alloc] initWithFrame:CGRectMake(0, 0, self.width, 50)];
self.captionView.textField.font = [self.captionView.textField.font fontWithSize:20.f];
self.captionView.textField.leftPadding = 2.f;
self.captionView.textField.rightPadding = 2.f;
self.captionView.textField.adjustsFontSizeToFitWidth = YES;
self.captionView.textField.minimumFontSize = 2.f;
self.captionView.captionViewDelegate = self;
[self addSubview:self.captionView];
Run Code Online (Sandbox Code Playgroud)

CaptionView具有属性textField,它是的子类UITextField

该子类覆盖方法:

 - (void)drawRect:(CGRect)rect;
 - (void) drawPlaceholderInRect:(CGRect)rect;
 - (CGRect) editingRectForBounds: (CGRect) bounds;
 - (CGRect) textRectForBounds: (CGRect) bounds;
Run Code Online (Sandbox Code Playgroud)

编辑:

我只是注释掉了每个替代项,字体仍然没有很好地调整。

编辑:

我发现的最相似的问题在这里。公认的答案是放弃使用adjustsFontSizeToFitWidth