web-dev-qa-db-ja.com

UITextFieldの高さを設定する方法は?

UITextFieldを使用しています。高さを増やしたいのですが、これを行うためのプロパティが見つかりません。どうすればこれを達成できますか?

123
Arun
CGRect frameRect = textField.frame;
frameRect.size.height = 100; // <-- Specify the height you want here.
textField.frame = frameRect;
80
Manjunath

丸みのある四角形の境界線スタイルの高さは変更できません。高さを設定するには、Xcodeで丸い境界線以外の境界線スタイルを選択します。

enter image description here

200
Brian

私はついにこの修正を見つけました!

私たちが見つけたように、IBでは、角の丸い境界線スタイルの高さを変更することはできません。そのため、他のスタイルに変更し、希望の高さを設定します。コードで境界線スタイルを元に戻します。

textField.borderStyle = UITextBorderStyleRoundedRect;
149
nathanbroyles

自動レイアウトを使用している場合は、ストーリーボードで実行できます。

テキストフィールドに高さ制約を追加し、高さ制約定数を任意の値に変更します。手順は次のとおりです。

ステップ1:テキストフィールドの高さ制約を作成する

enter image description here

ステップ2:高さの制約を選択する

enter image description here

ステップ3:高さ制約の定数値を変更する

enter image description here

83
user1046037
  1. 丸みのない境界線スタイルを選択します

enter image description here

  1. 身長を設定する

enter image description here

あなたのビューでWillAppearは角を丸く設定します

yourUITextField.borderStyle = UITextBorderStyleRoundedRect;

enter image description here

  1. 丸くて背の高いUITextFieldをお楽しみください
26

1.)InterfaceBuilderで境界線スタイルを変更します。

enter image description here

2.)その後、サイズを変更できます。

enter image description here

3.)TextFieldにIBOutletを作成し、viewDidLoad()に次のコードを入力して、BorderStyleを元に戻します。

textField.borderStyle = UITextBorderStyleRoundedRect;

Swift 3:

textField.borderStyle = UITextBorderStyle.roundedRect
25
David Seek

これら2つの簡単な手順に従って、UItextFieldの高さを増やします。

ステップ1: XIBファイルを右クリックし、「ソースコード」のように開きます。

ステップ2:同じUITextfieldソースを見つけて、必要に応じてフレームを設定します。

これらの手順を使用して、Appleコントロールのフレームを変更できます。

14
Sunil Targe

IOS 6の更新:自動レイアウトを使用して、インターフェイスビルダーのサイズインスペクターからUITextFieldの高さを設定できない場合でも(少なくともXcode 4.5 DP4の時点で)、高さの制約を設定できるようになりましたこれは、Interface Builderから編集できます。

また、コードでフレームの高さを設定している場合、ビューにある他の制約に応じて自動レイアウトがリセットする場合があります。

8

これは古い質問ですが、IB内からUITextFieldの高さを簡単に変更し、そのUITextfieldの境界タイプをデフォルトの角丸タイプ以外に変更したい場合に追加したいだけです。その後、エディター内から簡単に高さ属性をストレッチまたは変更できます。

6
Mark McCorkle

Swift3

@IBDesignable
class BigTextField: UITextField {
    override func didMoveToWindow() {
        super.didMoveToWindow()
        if window != nil {
            borderStyle = .roundedRect
        }
    }
}

インターフェースビルダー

  • UITextFieldBigTextFieldに置き換えます。
  • Border Stylenoneに変更します。
4
neoneye

この愚かな問題への私の哀れな貢献。 IBでスタイルをnoneに設定して高さを設定し、次にIBでクラスをUITextFieldのサブクラスに設定して、スタイルを強制的に四角形に丸めます。

@interface JLTForcedRoundedRectTextField : UITextField
@end

@implementation JLTForcedRoundedRectTextField
- (void)awakeFromNib
{
    self.borderStyle = UITextBorderStyleRoundedRect;
}
@end

XIBファイルをハッキングしたり、View Controllerにスタイルコードを記述したりする必要がなくなりました。

3
Jeffery Thomas

UITextFieldの高さは、デフォルトの丸い角の境界線スタイルがある場合にのみ属性インスペクターで調整できませんが、高さ制約(および自動レイアウトシステムを満たすために必要なその他の制約-多くの場合、単に欠落している制約の追加を使用して)を追加し、制約を調整すると、テキストフィールドの高さが調整されます。制約が必要ない場合は、制約を削除して(制約をクリア)、テキストフィールドを調整された高さのままにします。

魅力のように機能します。

2
Simon.

これは非常に簡単です。

yourtextfield.frame = CGRectMake (yourXAxis, yourYAxis, yourWidth, yourHeight);

テキストフィールドをグローバルプロパティとして宣言し、コード内の任意の場所でフレームを変更します。

ハッピーコーディング!

2
Valentina

Swift 3では次を使用します。

yourTextField.frame.size.height = 30
2
Kaptain

多数のUITextFieldsを作成している場合は、UITextViewsをサブクラス化し、setFrameメソッドを次のようにオーバーライドする方が簡単です。

-(void)setFrame:(CGRect)frame{
    [self setBorderStyle:UITextBorderStyleRoundedRect];
    [super setFrame:frame];
    [self setBorderStyle:UITextBorderStyleNone];
}  

この方法で、あなたはただ電話することができます
[customTextField setFrame:<rect>];

1
mylogon

これを試して

UITextField *field = [[UITextField alloc] initWithFrame:CGRectMake(20, 80, 280, 120)];
1
Tendulkar

テキストフィールドのフレームプロパティを使用して、フレームを変更できますLike-Textfield.frame = CGRECTMake(x axis、y axis、width、height)

1
Harshit_Jobs
UITextField *txt = [[UITextField alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];
    [txt setText:@"Ananth"];
    [self.view addSubview:txt];

最後の2つの引数は幅と高さです。必要に応じて設定できます...

1
User-1070892

私は同じ問題を抱えていました。ここでいくつかの解決策を試してみましたが、このすべてのジャンボジャンボを行うのではありません。高さの制約を設定するだけで十分だとわかりました。

0
Alix