Hauteur de la vue de progression dans iOS 7
Je veux augmenter la hauteur de la vue de progression dans iOS 6 et ci-dessous, je le fais en utilisant la méthode d'apparence
UIImage *progressImage = [[UIImage imageNamed:@"sliderbk-progress.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 4, 0, 5)];
[[UIProgressView appearance] setProgressImage:progressImage];
mais maintenant dans iOS7 ce code ne fonctionne pas, j'essaie même de donner le code ci-dessous mais pas d'utilisation. Toute aide sera utile. Merci
[[UIProgressView appearance] setFrame:CGRectMake(20, 100, 280, 100)];
Si je comprends bien la question, il semble que vous souhaitiez augmenter la hauteur de la vue de progression dans iOS7, et le code que vous avez utilisé précédemment dans iOS6 ne fonctionne plus.
J'ai récemment dû résoudre un problème similaire et je l'ai fait en ajoutant une contrainte à la vue de progression dans Interface Builder et en définissant la hauteur de manière explicite via la contrainte. Cette solution nécessitera l'utilisation de la mise en page automatique, alors assurez-vous que cette option est activée.
Montré: l'attribut "Hauteur" sur l'inspecteur de taille est visiblement grisé pour une vue de progression et ne peut pas être changé - cependant j'ai défini une contrainte sur la vue de progression elle-même et défini la hauteur de la contrainte à 50 points, ce qui est en fait reflété dans IB.
D'après ce que j'ai vu, les barres de progression iOS6 ont une valeur de hauteur statique, donc si vous souhaitez également prendre en charge iOS6, une autre approche sera nécessaire pour cela.
Alors que d'autres ont signalé qu'un CGAffineTransform () fonctionne également:
[self.progressView setTransform:CGAffineTransformMakeScale(1.0, 3.0)];
Utilisez ce code: -
CGAffineTransform transform = CGAffineTransformMakeScale(1.0f, 5.0f);
progressView.transform = transform;
Déjà répondu ici Comment augmenter la hauteur de UIProgressView
@implementation UIProgressView (customView)
- (CGSize)sizeThatFits:(CGSize)size
{
CGSize newSize = CGSizeMake(self.frame.size.width,9);
return newSize;
}
@end
Swift 3.x
progressView.transform = CGAffineTransform(scaleX: 1.0, y: 5.0)
Voici la version Swift de user3189408 et les excellentes solutions de Rushabh pour les nouveaux développeurs et Swift amateurs comme moi. Testé pour iOS 7 +/Swift 2.0.
progressView.transform = CGAffineTransformMakeScale(1.0, 5.0)
Vous pouvez noter que frame
ne peut pas être défini par appearance
accesseur. Vous devez le définir sur chaque vue de progression séparément.
Habituellement, la hauteur est définie en fonction du style de barre de progression.
- (id)initWithProgressViewStyle:(UIProgressViewStyle)style; // sets the view height according to the style