2

Åなどの文字をその四角形内にレンダリングしたい場合、UITextFieldに問題があります。

その上部が切り取られており、ÅがAのように見えます。

場合によっては、次のようなカスタムUITextFieldを使用して解決しました。

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

これは、テキストが次のように正常に表示されているときに機能します。

ここに画像の説明を入力してください

ただし、テキストの編集を開始すると、drawTextInRectのようなものは適用されなくなり、文字の上部が再び消えます。

そのようです:

ここに画像の説明を入力してください

他の誰かがこれを修正する方法についてのアイデアを持っていますか?

4

1 に答える 1

1

代わりにオーバーライド- (CGRect)textRectForBounds:(CGRect)boundsして、すべての状況でテキストrectを調整します。テキストを編集しないときはラベルをUITextField使用し、編集するときは他の何かを使用しdrawTextInRect:、特にそのうちの1つだけが呼び出すのではないかと思います。

于 2012-10-26T11:11:17.637 に答える