Wahrscheinlich etwas Einfaches, aber ich kann nicht herausfinden, warum ich die Größe einer UIView in einer xib in Interface Builder nicht ändern kann.
Ich habe eine neue Ansicht XIB in xcode erstellt und im Größeninspektor sind Breite und Höhe deaktiviert und auf 320 mal 460 ausgegraut. Dies ist seltsam, da ich die Größe für die beiden anderen Ansichten ändern kann (die den beiden anderen Registerkarten zugeordnet sind) Artikel).
Ich bin nicht sicher, ob dies etwas damit zu tun hat, aber ich habe kürzlich das SDK auf 3 aktualisiert.
Vielen Dank!
Um dies in XCode 4.6.3 / 5.0.2 zu erreichen, müssen Sie dem folgenden Screenshot folgen:
Use Auto Layout
Freeform
für GrößeDies ist erforderlich, wenn Sie eine Header-Ansicht für eine Tabellenansicht erstellen
quelle
Das gesuchte Teil befindet sich im ersten Inspektorfenster (Befehl-1). Ganz oben befindet sich ein Abschnitt mit der Bezeichnung Simulierte Benutzeroberflächenelemente. Standardmäßig ist die Statusleiste aktiviert. Sie müssen sicherstellen, dass alle drei auf Keine eingestellt sind.
quelle
Wie bei Xcode 4.2, iOS 5.0.1 umfassen die simulierten Standardmetriken die Simulation des Attributs 'size' von UIViewControllers auf 'Inferred'.
Wenn Sie dieses Attribut in "Freiform" ändern, können Sie die Größe des im UIViewController enthaltenen UIView ändern und gleichzeitig die Statusleiste (oder eine andere Simulation) simulieren.
quelle
Gehen Sie einfach zum Inspektor, gehen Sie zum ersten Bereich (oder drücken Sie Befehlstaste 1) und ändern Sie die mit Statusleiste, oberer Leiste und unterer Leiste gekennzeichneten Felder im Abschnitt "Simulierte Elemente der Benutzeroberfläche" in "Keine". Möglicherweise müssen Sie auf das kleine Dreieck klicken, um sie sichtbar zu machen.
quelle
Komisch, ich habe ein ähnliches Problem. Ich habe alle Ansichten aus der xib-Datei entfernt und eine Ansicht erneut hinzugefügt. Setzen Sie die Statusleiste auf "nicht angegeben", damit die Statusleiste nicht berücksichtigt wird. Wenn die Ansicht hinzugefügt wird, wird sie mit x = 0, y = 0, w = 320 h = 460 anstelle von (0,0,320,480) erstellt, wie ich es erwartet hätte. Nachdem Sie die Höhe auf 480 geändert und mit dem Eigentümer der Datei verbunden und die Farbe geändert haben, um sie in Bezug auf den Hintergrund unverwechselbar zu machen. Ich gehe davon aus, dass sich zwischen dem oberen Bildschirmrand und der Ansicht ein weißes Band befand. Ich habe meinen Code erweitert mit:
innerhalb von viewDidLoad
Es stellt sich heraus, dass die Ansicht so ist, wie sie von IB geladen wurde, tatsächlich (0, 20, 320, 480). Um dies zu umgehen, habe ich den Rahmen der Ansicht mit self.view.frame = CGRectMake (0, 0, 320, 480) zurückgesetzt.
Ich benutze IB 3.2.5
Ich würde gerne eine kleine Lösung für dieses Problem kennen.
quelle
Ich habe festgestellt, dass die beim Erstellen der xib-Datei automatisch erstellte UIView nicht über das Größenfenster oder die Kantengriffe in der Größe geändert werden kann.
Ich habe lediglich ein weiteres UIView hinzugefügt und alles von meinem alten UIView auf das neue gezogen und dann das alte gelöscht.
Es hat das Problem für mich gelöst, aber ich denke, es gibt ein zugrunde liegendes Problem mit dem Interface Builder, das Apple lösen kann (jemand korrigiert mich, wenn ich falsch liege).
Ich verwende den integrierten Schnittstellen-Builder für XCode 4.
quelle
Ich habe es anders aussortiert ...
Öffnen Sie Ihre XIB mit Ihrem bevorzugten Texteditor und bearbeiten Sie diese Zeile
CompassViewController
ist Ihr Klassenname, mit dem Sie Ihre nib / xib verknüpfen möchten.Bearbeiten Sie einfach Ihren Klassennamen mit dem richtigen Klassennamen und Sie sind fertig;)
quelle
Wählen Sie im Storyboard die UIVIew aus und wechseln Sie zum Attributinspektor. Ändern Sie die UIVIew-Größe in "FreeForm" anstelle von "Inferred".
quelle