允许UITextField字符呈现外部边界

时间:2012-10-26 11:02:38

标签: iphone objective-c uitextfield drawrect

当我希望在矩形内渲染像Å这样的字符时,我遇到了UITextField的问题。

它的顶部被剪掉了,使Å看起来像A。

在某些情况下,我已经使用这样的自定义UITextField解决了它:

- (void)drawTextInRect:(CGRect)rect {
    rect.origin.y = rect.origin.y+5;
    [super drawTextInRect:rect];
}

当文本正常显示时,这可以正常显示:

enter image description here

但是当你开始编辑文本时,它就像不再应用了drawTextInRect一样,并且字符的顶部会再次消失。

像这样:

enter image description here

是否有其他人对如何解决这个问题有想法?

1 个答案:

答案 0 :(得分:1)

重写- (CGRect)textRectForBounds:(CGRect)bounds而不是在所有情况下调整文本rect。我怀疑UITextField在您不编辑文本时会使用标签,而在您执行此操作时会使用其他内容,并且其中只有一个会特别调用drawTextInRect: