1. ホーム
  2. ios

[解決済み] UITextBorderStyleNoneを使用してUITextFieldのパディングを設定する

2022-03-22 15:32:09

質問

の背景をカスタムにしたいのですが、どうすればいいですか? UITextFields . これは、私が以下のような事実を除いて、うまく機能します。 UITextBorderStyleNone を使うと、見た目がきれいになります。これにより、テキストはパディングなしで左側に張り付くようになります。

パディングを手動で設定し、以下のような表示にすることは可能ですか? UITextBorderStyleRoundedRect ただし、独自の背景画像を使用することを除きます。

解決方法は?

このような場合、左のパディングを設定するためのちょっとしたハックを見つけました。

基本的には、"leftView "プロパティを設定します。 UITextField を、必要なパディングの大きさの空のビューにします。

UIView *paddingView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 5, 20)];
textField.leftView = paddingView;
textField.leftViewMode = UITextFieldViewModeAlways;

魅力的に動作しました。

Swift 3/ Swift 4 というようにすれば可能です。

let paddingView: UIView = UIView(frame: CGRect(x: 0, y: 0, width: 5, height: 20))
textField.leftView = paddingView
textField.leftViewMode = .always