2016-06-03 15 views
2

Ich füge programmgesteuert einen PKPaymentButton hinzu (weil es nicht so aussieht, als könnte ich einfach UIButton auf PKPaymentButton im Storyboard setzen). Ich möchte, dass mein PKPaymentButton die Breite seiner Superview darstellt. Dies scheint jedoch nicht zu funktionieren. (Der PKPaymentButton verwaltet eine vordefinierte Breite von 140 Punkten.) Ich habe versucht, die horizontale contentHuggingPriority meines PKPaymentButton auf UILayoutPriorityDefaultLow zu setzen, aber das scheint keine Wirkung zu haben. Irgendwelche Ideen, wie man einen PKPAymentButton mit voller Breite bekommt, der sich an die Breite meines Bildschirms anpasst?Stellen Sie die PKPaymentButton-Breite auf superview ein?

Antwort

0

Ich habe Containeransicht im Storyboard erstellt und dann PKPaymentButton mit notwendigen Einschränkungen hinzugefügt. Hier

ist einfache Methode aus meiner UIView Kategorie, die es macht einfach:

-(void) setupWithContentView:(UIView *) contentView 
{ 

contentView.translatesAutoresizingMaskIntoConstraints = NO; 
[self addSubview:contentView]; 

[self addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"|[contentView]|" 
                  options:0 
                  metrics:nil 
                   views:@{@"contentView":contentView}]]; 

[self addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[contentView]|" 
                  options:0 
                  metrics:nil 
                   views:@{@"contentView":contentView}]]; 
}