当我希望在矩形内渲染像Å这样的字符时,我遇到了UITextField的问题。
它的顶部被剪掉了,使Å看起来像A。
在某些情况下,我已经使用这样的自定义UITextField解决了它:
- (void)drawTextInRect:(CGRect)rect {
rect.origin.y = rect.origin.y+5;
[super drawTextInRect:rect];
}
当文本正常显示时,这可以正常显示:
但是当你开始编辑文本时,它就像不再应用了drawTextInRect一样,并且字符的顶部会再次消失。
像这样:
是否有其他人对如何解决这个问题有想法?
答案 0 :(得分:1)
重写- (CGRect)textRectForBounds:(CGRect)bounds
而不是在所有情况下调整文本rect。我怀疑UITextField
在您不编辑文本时会使用标签,而在您执行此操作时会使用其他内容,并且其中只有一个会特别调用drawTextInRect:
。