Frage

ich erschuf UIImageView mit Hilfe von Interface Bulder.Jetzt möchte ich ein Label darin platzieren (als Unteransicht).Im Code kann ich etwas eingeben wie: [myUIImageView addSubview:myUILabel]; Aber kann ich das mit Hilfe von IB machen?Ich habe die Lösung für gefunden UIView, kann aber nichts Ähnliches finden UIImageView.

War es hilfreich?

Lösung

Sie können UIImageView im Schnittstellenbuilder aus Gründen, die Apple nur bekannt sind! Sie haben Recht, dass Sie programmgesteuert hinzufügen können, aber dann sollte der Overhead bei der Festlegung von Autorisierungsmasken und -Positionen von Unteransichten in Code behandelt werden, was umständlich ist.

Es gibt also eine einfache Problemumgehung. Anstatt eine Instanz von UIImageView in die NIB zu ziehen, ziehen Sie einfach eine UIView und ändern Sie seine Klasse in UIImageView von UIView (CMD+4 -Option des Inspektors). Der einzige Unterschied, den Sie in der NIB für die Standard -ImageView -Instanz und Ihre neue UIImageView -Unterklasseinstanz finden, ist: Sie können das Bild nicht auf Ihr neues ImageView von der NIB (CMD+1 -Option) einstellen. Also in der -viewDidLoad Methode seines entsprechenden ViewController, das Bild in diesem Ausgang von UIImageView festlegen.

Auf diese Weise können Sie Ihre "Now UiimageView" -An Instanzen im Schnittstellenbuilder hinzufügen, was viel einfach ist.

Hoffe das hilft . . .

Andere Tipps

Ich möchte eine Antwort hinzufügen.

Während es saugt, können Sie Subview nicht hinzufügen UIImageView, Sie können den gleichen Effekt erzielen, indem Sie integrieren UIView mit transparentem (klarem Farb-) Hintergrund.

Dann setzen Sie die UIImageview Bevor.

Also die UIView hat die Unteransicht und die UIImageview ist der Hintergrund der UIView.

Ich denke, das ist die Absicht von Apple.

Hier ist ein Screenshot:

enter image description here

Hier ist das Ergebnis:

enter image description here

Vergessen Sie nicht, den Hintergrund als klare Farbe festzulegen

enter image description here

Wenn mich jetzt jemand auf ein Tutorial verweisen könnte, wie es geht, wird es großartig. Ich habe Stunden damit verbracht, es zu tun, den geprüften beantworteten Weg. Die geprüfte Antwort ist eine gute Antwort, aber sehr unintuitiv, da Sie Ihr Hintergrundbild während der Arbeit nicht klar sehen können. Ich denke, meine ist der richtige Weg, dies zu tun.

In der letzten Xcode (4.5) gibt es eine Option, die erforderlichen Steuerelemente an den übergeordneten Ziehen zu ziehen und zu löschen.

Es ist ziemlich einfach. Angefügtem Screenshot für dasselbe. Ich habe das Etikett/das Textfeld und die Schaltfläche zu UIImageView gezogenenter image description here

Verwenden Sie diesen Code:

UIImage *image = [UIImage imageNamed:@"background.png"];
UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
[self.view insertSubview:imageView atIndex:0];

(ersetzen Hintergrund.png mit Bild) (ersetzen atIndex:0 an welcher Stelle im .index-Stammverzeichnis Sie das Bild einfügen möchten, und los geht's.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top