Seja qual for o tamanho que eu atribuo a ele durante a alocação, ele mostra apenas o tamanho fixo. É possível aumentá-lo?
Código:
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
wolverine
fonte
fonte
Respostas:
O tamanho é fixado pelo estilo. É um elemento de interface padronizado, então a API não gosta de mexer nele.
No entanto, você provavelmente poderia fazer uma transformação de escala nele. Não tenho certeza de como isso afetaria visualmente, no entanto.
Do ponto de vista do design da IU, geralmente é melhor deixar esses elementos padronizados comuns sozinhos. O usuário foi ensinado que certos elementos aparecem em um determinado tamanho e que significam coisas específicas. Alterar a aparência padrão altera a gramática da interface e confunde o usuário.
fonte
UIActivityIndicatorViewStyleWhiteLarge
, mas sim do tamanho pequeno, certo? Porque eu acho que essaLarge
versão tem um tamanho legal mesmo em uma tela vazia..whiteLarge
faz isso! THX! Eu também configureiUIActivityIndicatorView(frame: CGRect(x: 0, y: 0, width: 100, height: 100))
eactivityIndicator.backgroundColor = UIColor(red: 255/255, green: 255/255, blue: 255/255, alpha: 0.38)
. Em 6 + / 7 + telas, o padrão é muito pequenoO seguinte criará um indicador de atividade de 15 px de largura:
Embora eu entenda o sentimento da resposta da TechZen, não acho que ajustar o tamanho de um UIActivityIndicator por uma quantidade relativamente pequena é realmente uma violação dos idiomas de interface padronizados da Apple - se um indicador de atividade é 20px ou 15px não mudará a interpretação do usuário do que está acontecendo.
fonte
Swift 3.0 e Swift 4.0
fonte
É possível redimensionar UIActivityIndicator.
O tamanho original é 1.0f. Agora você aumenta e reduz o tamanho de acordo.
fonte
let transform = CGAffineTransformMakeScale(1.5, 1.5)
activityIndicator.transform = transform
Swift3
fonte
Aqui está uma extensão que funcionaria com o Swift 3.0 e verificações para evitar o escalonamento 0 (ou qualquer valor que você deseja proibir):
Chame assim para escalar para 40 pontos (2x):
fonte
Existem também muitos outros truques úteis do "CGAffineTransform" que você pode usar. Para obter mais detalhes, consulte a referência da Apple Developer Library:
http://developer.apple.com/library/mac/#documentation/GraphicsImaging/Reference/CGAffineTransform/Reference/reference.html
Boa sorte!
fonte
O melhor que você pode fazer é usar o
whiteLarge
estilo.let i = UIActivityIndicatorView(activityIndicatorStyle: UIActivityIndicatorViewStyle.whiteLarge)
.Aumentar o tamanho de
UIActivityIndicatorView
não altera o tamanho do indicador adequado, como você pode ver nessas fotos.fonte
activityIndicator.transform = CGAffineTransform (scaleX: 1,75, y: 1,75);
Isso me funcionou para transformar o tamanho do indicador.
fonte