2016-09-10 8 views

答えて

0

問題を解決するために、私はUITextFieldをサブクラス化し、サブクラスに以下を追加しました。

override func editingRectForBounds(bounds: CGRect) -> CGRect { let padding = UIEdgeInsets(top: 0, left: 5, bottom: 0, right: 5); return UIEdgeInsetsInsetRect(bounds, padding) }

回答がここに発見された:Create space at the beginning of a UITextField

1

ことが可能に私はいくつかの注意を払ってこのシフト

を無効にするためです、はい、あなたは確かにそれを行うことができます。

下のスクリーンショットを参照してください。テキストの描画は、UITextFieldをサブクラス化する場合は、実際にはあなた次第です。drawText(in:)および/またはtextRect(forBounds:)をオーバーライドして、テキストの位置を管理します。

+0

私は前のUITextFieldオーバーライドする必要がなかったので、これは憶測ですが、あなたはまた、テキストフィールドの 'textRectForBounds'メソッドをオーバーライドすることができませんでしたか? –

+0

@DuncanCああ、それは私が言ったことです。私はSwift 3でそれを言っただけです:) Xcode 8はGMになって、未来に足を踏み入れる時間です。 – matt

+0

ああ、そのビットを逃した。もっと詳しく読んでいるはずです。 –

関連する問題