Wie positioniert Aktivitätsanzeige an das Zentrum Ihrer superview mit Auto-Layout programmatisch?

Warum der folgende code funktioniert nicht für die Positionierung der Aktivitäten-Anzeige an das Zentrum Ihrer superview:

UIActivityIndicatorView *activityIndicator = [[UIActivityIndicatorView alloc]
       initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];

[self.mysuperview addSubview:activityIndicator];
[activityIndicator addConstraints:[NSLayoutConstraint 
                   constraintsWithVisualFormat:@"|-(>=20)-[view(==100)]-(>=20)-|"
                   options:NSLayoutFormatAlignAllCenterX | NSLayoutFormatAlignAllCenterY
                   metrics:nil
                   views:@{@"view" : self.mysuperview}]];

Aktivitätsanzeige positioniert ist irgendwo in der oberen linken Ecke, auf jeden Fall nicht in der Mitte.

==================
Update:
LÖSUNG GEFUNDEN: ich habe zum ausschalten autoresizing Einschränkungen nach der Erstellung Kennzeichen und dann alle Lösungen, wo diese Arbeit:

 [activityIndicator setTranslatesAutoresizingMaskIntoConstraints:NO];

Ich fand es auf dem angegebenen link von @Vignesh, so dass ich akzeptieren Sie seine/Ihre Antwort.

  • Für Informationen, wenn Sie github.com/dkduck/FLKAutoLayout dann ist es-handle, das auch für Sie.
  • Ich bevorzuge github.com/Masonry/Masonry
  • Yep. Es war translatesAutoresizingMaskIntoConstraints auch für mich. Einfach zu vergessen.
  • OMG ich hatte den gleichen Fehler.
  • Siehe meine Antwort das gibt 4 verschiedene Möglichkeiten, um Ihr problem zu lösen mit Auto-Layout oder Spring und Struts.
InformationsquelleAutor zyxel | 2013-10-17
Schreibe einen Kommentar