2009-04-04 8 views
5

i ein UITextField vom Typ abgerundeten Textfeld erstellt, Interface Builder verwenden, so um die Höhe eines Textfeld seines Fenster deaktiviert wurde eingestellt in SizeInspector (nicht manuell in der Höhe eingestellt) .so, wenn wir die Höhe manuell einstellen wollen, wie sollen wir vorgehen?Wie Höhe für ein Textfeld in der Größe Inspektoren einstellen

Eine Sache, die ich erwähnen möchte ist, dass wir, dass bei der Codierung Teil tun kann, aber was ich möchte, ist wissen, wie können wir das in Interface acheive.

Antworten von Ihnen wurden immer geschätzt.

Antwort

8

Leider können Sie die Höhe eines UITextField nicht mithilfe von Interface Builder festlegen. Sie haben es programmatisch zu setzen und sicherzustellen, dass es keine Regeln bricht aus iPhone Human Interface Guidelines

+40

Tatsächlich können Sie die Höhe für jedes UITextField festlegen, das nicht über den 'UITextBorderStyleRoundedRect'-Stil verfügt. Wenn Sie es ändern, können Sie die Größe in IB ändern. – zekel

+0

ja, es hat für mich funktioniert. Danke :) – Pritesh

+1

Tatsächlich gibt es einen Weg, dies zu erreichen, siehe [diese Antwort] (http://stackoverflow.com/a/35018308/3340702). – lifeisfoo

1

Erhöhung der Größe der Schrift und die Höhe der Box

+0

Dies funktioniert nicht für mich, ich vergrößere die Textgröße und die Höhe bleibt fest. – TheJeff

1

ändern Sie die Border Style-Eigenschaft des Textfeldes, um etwas erhöhen anders als das abgerundete Rechteck. Danach können Sie die Höhe der Box frei einstellen.

2

Sie können die Höhe von UITextField ändern, indem Sie die .xib-Datei bearbeiten. Öffnen Sie es einfach mit TextEdit oder Dashcode und suchen Sie nach dem IBUITextField. Bearbeiten Sie den Parameter NSFrame in der von Ihnen gewünschten Größe.

0

Nach einem wenig um zu spielen, wurde mir klar, dass UITextField gedacht als UIButton (gerundet rect-Stil) mit einem UILabel oben drauf werden kann. Oder es ist ein UITextView über UIButton Rounded Rect-Stil. Die Anzahl der Linien, Abmessungen und Position des Etiketts innerhalb der Taste kann in IB einfach eingestellt werden.

In meinem Fall wollte ich ein schreibgeschütztes Textfeld, also habe ich UILabel auf UIButton verwendet. Ich stellte die Größe des Knopfes entsprechend Anforderung und auch Aufklebergröße ein. Ich musste auch das Feld "Aktivieren" für die Schaltfläche in IB deaktivieren, damit es beim Berühren nicht hervorgehoben wird.

0

Klicken Sie mit der rechten Maustaste auf die .xib Datei und klicken Sie auf "Open As" -> "Source Code". Suchen Sie dann nach UITextFields NSFrame. Ändern Sie die Höhe wie Sie möchten.

13

Ändern Sie die Grenze Stil, wie folgt aus:

screen shot

+0

Ja. Aber es zwingt den Text, sich vertikal von der Mitte aus auszurichten. – user3144836

0

können Sie leicht, dass die Verwendung Quellcode ändern. Klicken Sie einfach mit der rechten Maustaste auf Ihr Storyboard, öffnen Sie es als Quellcode, suchen Sie nach Ihrem Textfeld und ändern Sie die Höhe.

+0

Das ist der einfachste Weg, dies zu tun. – Masih

0

Der einfachste Weg, den ich gefunden habe, um dies zu erreichen, ist den Randstil zu ändern und dann die anderen Attribute nach Ihren Wünschen zu bearbeiten. Hier ist ein Beispiel.

emailField.layer.borderColor = [[UIColor blackColor] CGColor]; 
emailField.layer.borderWidth = 2.0f; 
emailField.layer.cornerRadius = 8.0f; 
emailField.alpha = .75f; 
emailField.layer.backgroundColor = [[UIColor whiteColor] CGColor]; 

! enter image description here

1

Erfolgreiche Lösung mit meinem Zustand: Nach dem Versuch, alle oben genannten Möglichkeiten, konnte ich nicht die Höhe von UITextField ändern. Schließlich fand ich heraus, dass ich UITextField in Stack-Ansicht (oder es wurde durch einige Einschränkungen betroffen).

Also fügte ich Height Constraint für UITextField dann meine erwartete Höhe in Constant von Constraint. Und es funktioniert. Speziell, es funktioniert für alle Border-Stil (Keine, Linie, Lünette, RoundedRect). Kein Code wird benötigt.

0

Ich löste Textfeld (mit gerundetem Rechteck) Höhe Problem. Sie müssen für Ihr Textfeld-Objekt eine Höhenbeschränkung definieren.

Höhenbeschränkung für Textfield definieren.

0

Wir können durch einfaches Ziehen als abgerundetes Rechteck mit jeder Art von Grenze Stil anderer Höhe von Textfeld ändern. Aber für die Abgerundeten Rechteck Textfelder ist es nicht möglich ... natürlich können wir die Höhe mit etwas Code ändern.

Und hier fand ich einen einfachen Weg. Er arbeitete für mich

  1. das Textfeld auswählen und an der unten rechten Ecke können wir die Stifte Option sehen ..

  2. Es die Höhe wählen beschränken es 30 vordefinierte ...

  3. wählen Sie diese Höhe und Sie können sehen, dass "Add 1 Constraint" aktiviert ist.
  4. Klicken Sie auf das..hier haben wir Höhenbeschränkung für dieses Textfeld hinzugefügt.
  5. Gehen Sie jetzt zum Größeninspektor. Dort finden Sie die Höhenbeschränkung in "Constraints" ... welche über der "Content Hugging Priority" liegt.
  6. Sie können dort die Höhe bearbeiten ... geben Sie den gewünschten Wert ein. Jetzt sehen Sie das Textfeld, das auf die von Ihnen angegebene Höhe geändert wurde.

Es funktionierte für mich :) Kann dieses Szenario verwenden für UISwitch, Segment, etc ..

0

Wie @ peterdoesco.de sagte, fügen Sie einfach eine Höhe Einschränkung, und ändern Sie es Wert ist, kann das funktioniert gut .

Verwandte Themen