Frage

Was Größe i während Zuordnung zu geben, zeigt er Größe nur fixiert. Ist es möglich, sie zu erhöhen?

Code:

activityIndicator = [[UIActivityIndicatorView alloc] initWithFrame:
                     CGRectMake(142.00, 212.00, 80.0, 80.0)];
[[self view] addSubview:activityIndicator];
[activityIndicator sizeToFit];
activityIndicator.autoresizingMask = (UIViewAutoresizingFlexibleLeftMargin |
                                      UIViewAutoresizingFlexibleRightMargin |
                                      UIViewAutoresizingFlexibleTopMargin |
                                      UIViewAutoresizingFlexibleBottomMargin);
activityIndicator.hidesWhenStopped = YES;
activityIndicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyleWhiteLarge;
War es hilfreich?

Lösung

Die Größe wird durch den Stil festgelegt. Es ist eine standardisierte Schnittstelle Element, so dass die API nicht der Fall ist, wie auf Geige mit ihm.

Allerdings könnten Sie wahrscheinlich eine Skalierung auf sie verwandeln tun. Nicht sicher, wie dass es optisch beeinflussen würde, aber.

Ist gerade von einer UI-Design-Perspektive, seine in der Regel besser, diese gemeinsamen standardisierten Elemente allein zu lassen. Benutzer haben gelernt, dass bestimmte Elemente in einer bestimmten Größe erscheinen und dass sie bestimmte Dinge bedeuten. Ändern des Standard-Aussehen verändert die Schnittstelle Grammatik und verwirrt den Benutzer.

Andere Tipps

Im Folgenden wird ein Aktivitätsindikator 15px erstellen breit:

#import <QuartzCore/QuartzCore.h>

...

UIActivityIndicatorView *activityIndicator = [[[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray] autorelease];
activityIndicator.transform = CGAffineTransformMakeScale(0.75, 0.75);
[self addSubview:activityIndicator];

Während ich das Gefühl der TechZen Antwort verstehen, ich glaube nicht, die Größe eines UIActivityIndicator durch eine relativ kleine Menge Einstellung ist wirklich eine Verletzung von Apples standardisierte Schnittstelle Idiome - ob ein Aktivitätsindikator ist 20px oder 15px wird sich nicht ändern eine Interpretation des Benutzers, was los ist.

Swift 3.0 & Swift 4.0

self.activityIndi.transform = CGAffineTransform(scaleX: 3, y: 3)

Es ist möglich, UIActivityIndicator zu ändern.

CGAffineTransform transform = CGAffineTransformMakeScale(1.5f, 1.5f);
activityIndicator.transform = transform;

Originalgröße ist 1.0f. Jetzt können Sie Größe entsprechend erhöhen und verringern.

swift3

 var activityIndicator = UIActivityIndicatorView()
    activityIndicator = UIActivityIndicatorView(activityIndicatorStyle: UIActivityIndicatorViewStyle.gray)
    activityIndicator.frame = CGRect(x: 0, y: 0, width: 50, height: 50)
    let transform: CGAffineTransform = CGAffineTransform(scaleX: 1.5, y: 1.5)
    activityIndicator.transform = transform
    activityIndicator.center = self.view.center
    activityIndicator.startAnimating()
    self.view.addSubview(activityIndicator)

Hier ist eine Erweiterung, die 3.0 mit Swift funktionieren würde, & Checks 0 Skalierung verhindern (oder was auch immer Wert, den Sie verbieten wollen):

extension UIActivityIndicatorView {
    func scale(factor: CGFloat) {
        guard factor > 0.0 else { return }

        transform = CGAffineTransform(scaleX: factor, y: factor)
    }
}

Nennen Sie es wie so maßstäblich auf 40 Punkte (2x):

activityIndicatorView.scale(factor: 2.0)

Es gibt auch viele andere nützliche „CGAffineTransform“ Tricks, die Sie mit spielen können. Für weitere Informationen bitte Apple-Developer Library Referenz siehe:

http://developer.apple .com / library / mac / # Dokumentation / GraphicsImaging / Reference / CGAffineTransform / Reference / reference.html

Viel Glück!

Das Beste, was Sie tun können, ist die whiteLarge Stil verwenden. let i = UIActivityIndicatorView(activityIndicatorStyle: UIActivityIndicatorViewStyle.whiteLarge).

Die Erhöhung der Größe von UIActivityIndicatorView nicht die Größe richtige des Indikators ändert, wie Sie in den Bildern sehen kann. kleine Anzeige  "groß" Anzeige

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top