2013-09-30 10 views
9

Ich versuche, UITextFields zu den ContentViews einiger statischer UITableViewCells hinzuzufügen. Wenn ich sie nur direkt in das Storyboard zu den Zellen hinzuzufügen, erhalte ich mehrere der folgenden Warnung in Xcode 5:Mehrdeutiges Layout mit UITextField in der contentView einer statischen UITableViewCell

Ambiguous Layout: Position is ambiguous for "Round Style Text Field".

Wenn ich dann die UITextFields wählen, und wählen Sie „Fehlende Constraints hinzufügen“ im Storyboard, ich bekomme dann diese Warnung stattdessen:

Misplaced View: Frame for "Round Style Text Field" will be different at run time.

Darüber hinaus habe ich versucht, Abhängigkeiten zwischen den UITextField Zugabe und der content manuell (durch jene zwei Ansichten auswählen und versuchen, eine Einschränkung hinzufügen), aber es scheint wie keine der Constraint-Optionen sind verfügbar für diese spezielle Beziehung lable

Hier sind einige Screenshots der Storyboard (Kontrollkästchen alle deaktiviert sind): Static UITableViewCells with UITextFields in their contentView

Static UITableViewCells with UITextFields in their contentView, Added Missing Constraints

Antwort

6

Im View-Controller-Panel auf der linken Seite Storyboard wird es einen gelben Kreis sein mit einem Pfeil Pfeil, klicken Sie darauf.

Klicken Sie dann im neuen Panel auf das gelbe Dreieck mit einem Kreis in der Mitte.

Sie sollten drei Optionen erhalten:

  1. Update-Frame - das wird die UI-Element bewegen Sie den orangefarbenen gepunkteten Kasten
  2. Update-Constraint entsprechen - dies wird die Einschränkungen aktualisieren Sie die aktuellen UI-Element
  3. übereinstimmen
  4. zu vorgeschlagenen Einschränkungen Zurücksetzen - Xcode wird tun, was er für richtig hält

In Ihrem Fall Update Einschränkungen funktionieren sollte

+0

Dies behebt das mehrdeutige Layout-Problem, aber nicht das Problem der falschen Platzierung. –

+0

Um die falsch platzierte Ansicht zu korrigieren, öffnen Sie den Größeninspektor für die falsch platzierte Ansicht und ändern Sie die Werte des Rahmenrechtecks ​​so, dass sie den erwarteten Werten in der Warnung entsprechen. – Kamaros

+0

Was ist, wenn ich nicht möchte, dass der Frame den erwarteten Werten entspricht? –

1

Ich hatte ähnliche Probleme - nicht hinzufügen ("Pin") Constraints zu den eingebetteten UITextField, Warnungen erhalten, etc. Das OP nicht angeben, aber aus dem Screenshot erscheint die statische UITableViewCell's Style ist auf festgelegt einer der vordefinierten Typen (insbesondere "Left Detail").

Ich habe festgestellt, dass das Setzen der Dropdown-Liste "Stil" der Tabellenansichtszelle auf "Benutzerdefiniert" das Hinzufügen von Integritätsbedingungen zum UITextField auf magische Weise ermöglicht, wobei der vordefinierte Zellstil selbst neu erstellt werden muss - z. Hinzufügen der UILabel und Anpassen ihrer Ausrichtung an die anderen Zellen.

Verwandte Themen