Quelle que soit la taille que je lui donne lors de l'allocation, elle affiche uniquement une taille fixe. Est-il possible de l'augmenter?
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;
ios
iphone
swift
uiactivityindicatorview
carcajou
la source
la source
Réponses:
La taille est fixée par le style. C'est un élément d'interface standardisé, donc l'API n'aime pas jouer avec.
Cependant, vous pourriez probablement effectuer une transformation de mise à l'échelle dessus. Je ne sais pas comment cela l'affecterait visuellement, cependant.
Du point de vue de la conception de l'interface utilisateur, il est généralement préférable de laisser ces éléments standardisés communs seuls. L'utilisateur a appris que certains éléments apparaissent dans une certaine taille et qu'ils signifient des choses spécifiques. La modification de l'apparence standard modifie la grammaire de l'interface et déroute l'utilisateur.
la source
UIActivityIndicatorViewStyleWhiteLarge
, mais plutôt de petite taille, non? Parce que je pense que cetteLarge
version a une belle taille même sur un écran vide..whiteLarge
fait-le! THX! J'ai également misUIActivityIndicatorView(frame: CGRect(x: 0, y: 0, width: 100, height: 100))
etactivityIndicator.backgroundColor = UIColor(red: 255/255, green: 255/255, blue: 255/255, alpha: 0.38)
. Sur 6 + / 7 + écrans, celui par défaut est tout simplement trop petitCe qui suit va créer un indicateur d'activité de 15 px de large:
Bien que je comprenne le sentiment de la réponse de TechZen, je ne pense pas que l'ajustement de la taille d'un UIActivityIndicator par une quantité relativement petite est vraiment une violation des idiomes d'interface standardisés d'Apple - si un indicateur d'activité est 20px ou 15px ne changera pas l'interprétation d'un utilisateur de ce qui se passe.
la source
Swift 3.0 et Swift 4.0
la source
Il est possible de redimensionner UIActivityIndicator.
La taille originale est 1.0f. Maintenant, vous augmentez et réduisez la taille en conséquence.
la source
let transform = CGAffineTransformMakeScale(1.5, 1.5)
activityIndicator.transform = transform
Swift3
la source
Voici une extension qui fonctionnerait avec Swift 3.0 et vérifie pour empêcher la mise à l'échelle 0 (ou quelle que soit la valeur que vous souhaitez interdire):
Appelez-le comme ça pour passer à 40 pts (2x):
la source
Il existe également de nombreuses autres astuces utiles "CGAffineTransform" avec lesquelles vous pouvez jouer. Pour plus de détails, veuillez consulter la référence de la bibliothèque des développeurs Apple:
http://developer.apple.com/library/mac/#documentation/GraphicsImaging/Reference/CGAffineTransform/Reference/reference.html
Bonne chance!
la source
Le mieux que vous puissiez faire est d'utiliser le
whiteLarge
style.let i = UIActivityIndicatorView(activityIndicatorStyle: UIActivityIndicatorViewStyle.whiteLarge)
.L'augmentation de la taille de
UIActivityIndicatorView
ne change pas la taille de l'indicateur proprement dit, comme vous pouvez le voir sur ces images.la source
activityIndicator.transform = CGAffineTransform (scaleX: 1,75, y: 1,75);
Cela m'a fonctionné pour transformer la taille de l'indicateur.
la source