Używam UITextField
. Chcę zwiększyć jego wysokość, ale nie znalazłem żadnej właściwości, aby to zrobić. Jak mogę to osiągnąć?
iphone
ios
xcode
uitextfield
Bieg
źródło
źródło
Nie możesz zmienić wysokości stylu zaokrąglonej prostokątnej ramki. Aby ustawić wysokość, po prostu wybierz dowolny styl obramowania inny niż zaokrąglone obramowanie w Xcode:
źródło
W końcu znalazłem na to poprawkę!
Jak stwierdziliśmy, IB nie pozwala nam zmienić wysokości stylu krawędzi zaokrąglonych narożników. Więc zmień go na dowolny inny styl i ustaw żądaną wysokość. W kodzie zmień z powrotem styl obramowania.
textField.borderStyle = UITextBorderStyleRoundedRect;
źródło
viewWillLayoutSubviews
. Dodałem obraz do polaleftView
tekstowego i trochę tekstu, a kiedy to się stanieviewDidLoad
, oba dziwnie się rozciągają.textField.borderStyle = .RoundedRect
Jeśli używasz Auto Layout, możesz to zrobić na tablicy Story.
Dodaj ograniczenie wysokości do pola tekstowego, a następnie zmień stałą ograniczenia wysokości na dowolną żądaną wartość. Kroki przedstawiono poniżej:
Krok 1: Utwórz ograniczenie wysokości dla pola tekstowego
Krok 2: Wybierz wiązanie wysokości
Krok 3: Zmień stałą wartość ograniczenia wysokości
źródło
borderStyle
dowolną wartość oprócz zaokrąglenia. Użyj,Editor -> Size to Fit Content
aby układ robił swoje. Użyj inspektora właściwości na swoim,UITextField
aby sprawdzić jego wysokość. Użyj tego, aby ustawić ograniczenie wysokości, a teraz możesz zmienićborderStyle
tył na zaokrąglony.1.) Zmień styl obramowania w InterfaceBuilder.
2.) Po tym możesz zmienić rozmiar.
3.) Utwórz IBOutlet do swojego TextField i wprowadź następujący kod do swojego,
viewDidLoad()
aby zmienić z powrotem BorderStyle.textField.borderStyle = UITextBorderStyleRoundedRect;
Swift 3:
textField.borderStyle = UITextBorderStyle.roundedRect
źródło
w Twoim widoku WillAppear ustaw rogi jako okrągłe
yourUITextField.borderStyle = UITextBorderStyleRoundedRect;
źródło
Wykonaj te dwa proste kroki, aby zwiększyć wysokość swojego
UItextField
.Krok 1: kliknij prawym przyciskiem myszy plik XIB i otwórz go jak w "Kod źródłowy".
Krok 2: Znajdź to samo
UITextfield
źródło i ustaw ramkę, jak chcesz.Możesz użyć tych kroków, aby zmienić ramkę dowolnych kontrolek Apple.
źródło
Aktualizacja dla iOS 6: przy użyciu automatycznego układu, mimo że nadal nie można ustawić wysokości UITextField za pomocą Inspektora rozmiaru w programie Interface Builder (przynajmniej od Xcode 4.5 DP4), można teraz ustawić ograniczenie wysokości na it, który można edytować w programie Interface Builder.
Ponadto, jeśli ustawiasz wysokość klatki według kodu, automatyczne układanie może ją zresetować w zależności od innych ograniczeń, które może mieć twój widok.
źródło
Wiem, że to stare pytanie, ale chciałem tylko dodać, jeśli chcesz łatwo zmienić wysokość UITextField od wewnątrz IB, a następnie po prostu zmień typ obramowania pola UITextfield na dowolny inny niż domyślny typ zaokrąglonego narożnika. Następnie możesz łatwo rozciągać lub zmieniać atrybuty wysokości z poziomu edytora.
źródło
swift3
@IBDesignable class BigTextField: UITextField { override func didMoveToWindow() { super.didMoveToWindow() if window != nil { borderStyle = .roundedRect } } }
Konstruktor interfejsu
UITextField
sięBigTextField
.Border Style
TOnone
.źródło
Mój żałosny wkład w ten głupi problem. W IB ustaw styl na none, aby można było ustawić wysokość, a następnie w IB ustaw klasę jako podklasę,
UITextField
która wymusza zaokrąglenie stylu do prostokąta.@interface JLTForcedRoundedRectTextField : UITextField @end @implementation JLTForcedRoundedRectTextField - (void)awakeFromNib { self.borderStyle = UITextBorderStyleRoundedRect; } @end
Dzięki temu nie musiałem hakować pliku XIB ani pisać kodu stylu do kontrolera widoku.
źródło
Działa jak marzenie.
źródło
W Swift 3 użyj:
yourTextField.frame.size.height = 30
źródło
Spróbuj tego
UITextField *field = [[UITextField alloc] initWithFrame:CGRectMake(20, 80, 280, 120)];
źródło
UITextField *txt = [[UITextField alloc] initWithFrame:CGRectMake(100, 100, 100, 100)]; [txt setText:@"Ananth"]; [self.view addSubview:txt];
Ostatnie dwa argumenty to szerokość i wysokość, możesz ustawić, jak chcesz ...
źródło
Możesz użyć właściwości ramki pola tekstowego, aby zmienić ramkę Like-Textfield.frame = CGRECTMake (oś x, oś y, szerokość, wysokość)
źródło
To całkiem proste.
yourtextfield.frame = CGRectMake (yourXAxis, yourYAxis, yourWidth, yourHeight);
Zadeklaruj swoje pole tekstowe jako właściwość gloabal i zmień jego ramkę, gdziekolwiek chcesz, w swoim kodzie.
Miłego kodowania!
źródło
Jeśli tworzysz wiele z
UITextFields
nich, szybsze może być utworzenie podklasyUITextView
i zastąpienie metody setFrame za pomocą-(void)setFrame:(CGRect)frame{ [self setBorderStyle:UITextBorderStyleRoundedRect]; [super setFrame:frame]; [self setBorderStyle:UITextBorderStyleNone]; }
W ten sposób możesz po prostu zadzwonić
[customTextField setFrame:<rect>];
źródło
Miałem ten sam problem. wypróbowałem niektóre rozwiązania tutaj, ale zamiast robić to wszystko mumbo-jumbo. Przekonałem się, że wystarczy ustawić ograniczenie wysokości.
źródło