回答:
CGRect frameRect = textField.frame;
frameRect.size.height = 100; // <-- Specify the height you want here.
textField.frame = frameRect;
丸みを帯びた長方形のボーダースタイルの高さは変更できません。高さを設定するには、Xcodeで丸い境界線以外の境界線スタイルを選択します。
私はこれの修正をついに見つけました!
私たちが発見したように、IBでは、角の丸いボーダースタイルの高さを変更することはできません。したがって、それを他のスタイルのいずれかに変更し、希望の高さを設定します。コードでボーダースタイルを元に戻します。
textField.borderStyle = UITextBorderStyleRoundedRect;
viewWillLayoutSubviews
。leftView
テキストフィールドといくつかのテキストに画像を追加しましたviewDidLoad
。これを行うと、両方が奇妙に伸びます。
textField.borderStyle = .RoundedRect
自動レイアウトを使用している場合は、ストーリーボードで実行できます。
テキストフィールドに高さ制約を追加してから、高さ制約定数を任意の値に変更します。手順を以下に示します。
ステップ1:テキストフィールドの高さの制約を作成する
ステップ2:高さ制約を選択
ステップ3:高さ制約の定数値を変更する
borderStyle
たもの以外に設定します。Editor -> Size to Fit Content
レイアウトにその働きをさせるために使用します。のプロパティインスペクターを使用して、UITextField
その高さを確認します。これを使用して高さの制約を設定すると、borderStyle
背中を丸みのあるものに変更できます。
1.)InterfaceBuilderでボーダースタイルを変更します。
2.)その後、サイズを変更できます。
3.)TextFieldにIBOutletを作成し、次のコードを入力しviewDidLoad()
てBorderStyleを元に戻します。
textField.borderStyle = UITextBorderStyleRoundedRect;
スウィフト3:
textField.borderStyle = UITextBorderStyle.roundedRect
あなたのviewWillAppearで角を丸く設定してください
yourUITextField.borderStyle = UITextBorderStyleRoundedRect;
次の2つの簡単な手順に従って、の高さを増やしてくださいUItextField
。
ステップ1: XIBファイルを右クリックして、「ソースコード」のように開きます。
手順2:同じUITextfield
ソースを見つけて、必要に応じてフレームを設定します。
これらの手順を使用して、アップルコントロールのフレームを変更できます。
iOS 6のアップデート:インターフェイスビルダーのサイズインスペクターからUITextFieldの高さを設定できない場合でも(少なくともXcode 4.5 DP4以降)、高さの制約をオンに設定できるようになりましたこれは、Interface Builderから編集できます。
また、フレームの高さをコードで設定している場合、ビューにある他の制約によっては、自動レイアウトによってフレームの高さがリセットされることがあります。
@IBDesignable
class BigTextField: UITextField {
override func didMoveToWindow() {
super.didMoveToWindow()
if window != nil {
borderStyle = .roundedRect
}
}
}
UITextField
とBigTextField
。Border Style
しnone
ます。この愚かな問題への私の哀れな貢献。IBでスタイルをnoneに設定して高さを設定できるようにし、次にIBでクラスをそのサブクラスに設定しUITextField
てスタイルを強制的に丸めた四角形にします。
@interface JLTForcedRoundedRectTextField : UITextField
@end
@implementation JLTForcedRoundedRectTextField
- (void)awakeFromNib
{
self.borderStyle = UITextBorderStyleRoundedRect;
}
@end
XIBファイルをハッキングしたり、ビューコントローラーにスタイルコードを書き込んだりする必要がなくなりました。
UITextField *txt = [[UITextField alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];
[txt setText:@"Ananth"];
[self.view addSubview:txt];
最後の2つの引数は幅と高さです。必要に応じて設定できます...
テキストフィールドのフレームプロパティを使用して、フレームを変更できますLike-Textfield.frame = CGRECTMake(x axis、y axis、width、height)
これは非常に簡単です。
yourtextfield.frame = CGRectMake (yourXAxis, yourYAxis, yourWidth, yourHeight);
テキストフィールドをグローバルプロパティとして宣言し、コード内で必要な場所でフレームを変更します。
ハッピーコーディング!
たくさん作成している場合は、s UITextFields
をサブクラス化しUITextView
てsetFrameメソッドをオーバーライドする方が簡単です。
-(void)setFrame:(CGRect)frame{
[self setBorderStyle:UITextBorderStyleRoundedRect];
[super setFrame:frame];
[self setBorderStyle:UITextBorderStyleNone];
}
このように、あなたはただ電話することができます
[customTextField setFrame:<rect>];