2017-02-15 1 views
0

Als Teil meiner Benutzeroberfläche habe ich eine horizontale Stapelansicht, die zwei vertikale Stapelansichten enthält. Die erste Vertikale enthält zwei Beschriftungen. Die zweite Vertikale enthält zwei meiner benutzerdefinierten UIView-Unterklassen - nennen wir sie MyUIView.So erhalten Sie UIView-Unterklasse zum Verfügbarmachen von Speicherplatz in einer Stapelansicht

+---------+-------------------+ 
| Label 1 |    ## | 
| Label 2 |    ## | 
+---------+-------------------+ 

Was ich versuche (in IB wenn möglich) zu erreichen, ist, dass die linke Seite des horizontalen Stapel auf die intrinsische Größe der (größten der) Etiketten so bemessen sein, und die rechte Seite nehmen alle die verfügbare Restbreite. Das heißt, die MyUIViews sollten auf diese Breite erweitert werden. Egal wie breit der Bildschirm ist, ich hätte "weit genug" Labels und MyUIViews den Rest.

Egal was ich versuche, sowohl in IB und zur Laufzeit, die MyUIViews sind klein oder unsichtbar in der Breite.

Ich vermute, das Problem ist, meine benutzerdefinierten Ansichten haben keine intrinsische Inhaltsgröße, aber ich bin fest, wie dies richtig zu adressieren. Ich habe das Gefühl, dass der horizontale Stapel auf "Proportional füllen" eingestellt sein sollte, aber wie sage ich den MyUIViews, dass sie "den ganzen Weg" gehen sollen?

+0

Ich habe versucht, und gleiche Anforderung umzusetzen, wie Sie haben, aber ich habe kein Problem mit der Breite sowohl der Vertikalstapelansicht. –

Antwort

0

Ich habe versucht und implementieren die gleiche Anforderung wie Sie haben, aber ich habe kein Problem mit der Breite der vertikalen Stapelansicht.

Ich habe gerade Hotizontal: Content Compression Resistance Priorität auf dem Etikett des ersten vertikalen Stapel Blick auf für die dynamische Breite zu erreichen.

enter image description here

+0

Nun, ich überprüfte und sie hatten bereits CCRP von 751. Dies war ein altes Constraint-basiertes Layout, so dass vielleicht etwas davon übrig war. – zkarj

+0

Während ich mit diesen Einstellungen gegen die verschiedenen Verteilungsmodi spielte, bemerkte ich, dass IB meine Änderungen im Display nicht immer korrekt wiedergab. Ich würde meine Null-Breite Balken auf Fill Proportional haben, ändern Sie auf Fill Equally und sie würden die halbe Breite strecken, dann wieder zurück und die Balken würden auf halbem Weg bleiben. Also ... Ich entschied mich zu versuchen, wieder mit jeder Einstellung zu laufen, um zu sehen, welche Laufzeit bieten würde. Stellt sich heraus, "Fill" macht den Job perfekt. Stelle dir das vor. – zkarj

Verwandte Themen