Ricerca…


Creare una vista stack orizzontale a livello di codice

Swift 3

let stackView = UIStackView()
stackView.axis = .horizontal
stackView.alignment = .fill // .leading .firstBaseline .center .trailing .lastBaseline
stackView.distribution = .fill // .fillEqually .fillProportionally .equalSpacing .equalCentering

let label = UILabel()
label.text = "Text"
stackView.addArrangedSubview(label)
// for horizontal stack view, you might want to add width constraint to label or whatever view you're adding.

veloce

let stackView = UIStackView()
stackView.axis = .Horizontal
stackView.alignment = .Fill // .Leading .FirstBaseline .Center .Trailing .LastBaseline
stackView.distribution = .Fill // .FillEqually .FillProportionally .EqualSpacing .EqualCentering

let label = UILabel(frame: CGRectZero)
label.text = "Label"
stackView.addArrangedSubview(label)
// for horizontal stack view, you might want to add width constraint to label or whatever view you're adding.

Objective-C

UIStackView *stackView = [[UIStackView alloc] init];
stackView.axis = UILayoutConstraintAxisHorizontal;
stackView.alignment = UIStackViewAlignmentFill; //UIStackViewAlignmentLeading, UIStackViewAlignmentFirstBaseline, UIStackViewAlignmentCenter, UIStackViewAlignmentTrailing, UIStackViewAlignmentLastBaseline
stackView.distribution = UIStackViewDistributionFill; //UIStackViewDistributionFillEqually, UIStackViewDistributionFillProportionally, UIStackViewDistributionEqualSpacing, UIStackViewDistributionEqualCentering

UILabel *label = [[UILabel alloc] initWithFrame:CGRectZero];
label.text = @"Label";
[stackView addArrangedSubview:label];
//For horizontal stack view, you might want to add a width constraint to your label or whatever view you are adding.

Creare una vista stack verticale a livello di codice

veloce

let stackView = UIStackView()
stackView.axis = .Vertical
stackView.alignment = .Fill // .Leading .FirstBaseline .Center .Trailing .LastBaseline
stackView.distribution = .Fill // .FillEqually .FillProportionally .EqualSpacing .EqualCentering

let label = UILabel(frame: CGRectZero)
label.text = "Label"
stackView.addArrangedSubview(label)
// for vertical stack view, you might want to add height constraint to label or whatever view you're adding.

Objective-C

UIStackView *stackView = [[UIStackView alloc] init];
stackView.axis = UILayoutConstraintAxisVertical;
stackView.alignment = UIStackViewAlignmentFill; //UIStackViewAlignmentLeading, UIStackViewAlignmentFirstBaseline, UIStackViewAlignmentCenter, UIStackViewAlignmentTrailing, UIStackViewAlignmentLastBaseline
stackView.distribution = UIStackViewDistributionFill; //UIStackViewDistributionFillEqually, UIStackViewDistributionFillProportionally, UIStackViewDistributionEqualSpacing, UIStackViewDistributionEqualCentering

UILabel *label = [[UILabel alloc] initWithFrame:CGRectZero];
label.text = @"Label";
[stackView addArrangedSubview:label];
//For vertical stack view, you might want to add a height constraint to your label or whatever view you are adding.

Pulsanti centrali con UIStackview

Step 1: - Prendi 4 pulsanti nella tua Storyboard. Button1, Button2, Button 3, Button4

Passaggio 2: - Assegna altezza e larghezza fisse a tutti i pulsanti.

inserisci la descrizione dell'immagine qui

Step 3: - Tutte le coppie di 2 - 2 pulsanti in 2 stackview.

inserisci la descrizione dell'immagine qui

Passo 4: - Imposta la proprietà UIStackview per entrambi.

      Distribution -> Fill Equally
           Spacing -> 5 (as per your requirement)

inserisci la descrizione dell'immagine qui


inserisci la descrizione dell'immagine qui

Step 5: - Aggiungi entrambi Stackview in uno Stackview

inserisci la descrizione dell'immagine qui

Step 6: - Set Distribution = Fill equally Spacing =5 in stackview principale (set Secondo il tuo requisito)

inserisci la descrizione dell'immagine qui

Step 7: - Ora imposta Vincolo su stackview principale

      center Horizontally in container
      
      center vertically in container

        and select Update Frame.

inserisci la descrizione dell'immagine qui

Passaggio 8: - È l'ora dell'output per tutti i dispositivi.

inserisci la descrizione dell'immagine qui



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow