UITextField adjustsFontSizeToFitWidth不起作用

时间:2014-11-13 12:35:20

标签: ios uitextfield

在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];

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

此子类重写方法:

 - (void)drawRect:(CGRect)rect;
 - (void) drawPlaceholderInRect:(CGRect)rect;
 - (CGRect) editingRectForBounds: (CGRect) bounds;
 - (CGRect) textRectForBounds: (CGRect) bounds;

编辑:

我只是注释掉了这些覆盖中的每一个,并且字体仍然没有很好地调整。

编辑:

我发现最相似的问题是here。 接受的答案是放弃使用adjustsFontSizeToFitWidth

0 个答案:

没有答案