Ich kann nicht herausfinden, wie man die Breite mit festem linkem und rechtem Rand ändert. UIView autoresizingMask für festen linken und rechten Rand und flexible Breite
Ich finde keine festen LED/rechten Margin-APIs.
Ich kann nicht herausfinden, wie man die Breite mit festem linkem und rechtem Rand ändert. UIView autoresizingMask für festen linken und rechten Rand und flexible Breite
Ich finde keine festen LED/rechten Margin-APIs.
In Code, eine Ansicht zu erhalten, verlassen haben feste und rechten Rand mit einer flexiblen Breite können Sie wie folgt vorgehen:
UIView *parentView = self.view; // adjust as needed
CGRect bounds = parentView.bounds; // get bounds of parent view
CGRect subviewFrame = CGRectInset(bounds, 20, 0); // left and right margin of 20
UIView *subview = [[UIView alloc] initWithFrame:subviewFrame];
subview.autoresizingMask = UIViewAutoresizingFlexibleWidth;
[parentView addSubview:subview];
nach Bedarf anpassen Ihre tatsächliche subview zu erstellen. Passen Sie die subviewFrame
an die gewünschten Ränder an.
Wie beantwortet, wird dies Ihre Unteransicht festen linken und rechten Rand von jeweils 20 Punkten und eine flexible Breite geben. Wenn die eingestellt wird, wird jede Komponente, die nicht als flexibel festgelegt ist, automatisch (fast) fixiert. Dies bedeutet, dass der obere Rand und die Höhe ebenfalls fixiert sind (da sie nicht festgelegt sind). Der untere Rand ist implizit flexibel, da der obere Rand und die Höhe fest sind. Alle drei Werte, die über oder nach oben/unten gehen, können aus offensichtlichen Gründen nicht gleichzeitig behoben werden.
scheint sehr schwierig ..! lass mich das versuchen –
Nicht schwierig überhaupt. Es ist eigentlich ganz einfach. Die festen Ränder werden unabhängig von der Größe der Unteransicht relativ zur übergeordneten Ansicht festgelegt, wenn Sie die Ansicht erstellen. Das ist es. Geben Sie der Unteransicht eine flexible Breite und Sie sind fertig. – rmaddy
nicht schwierig, es ist nur, dass UIView erstellt in Code einen anderen Standard als der in IB verwendet haben. Was zu einiger Verwirrung führen kann. –