web-dev-qa-db-fra.com

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)];
30
Iqbal Khan

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.

height attribute

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.

57
Derek Lee

Alors que d'autres ont signalé qu'un CGAffineTransform () fonctionne également:

[self.progressView setTransform:CGAffineTransformMakeScale(1.0, 3.0)];
47
user3189408

Utilisez ce code: -

 CGAffineTransform transform = CGAffineTransformMakeScale(1.0f, 5.0f);
 progressView.transform = transform;
17
Rushabh

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
2
Shoaib

Swift 3.x

progressView.transform = CGAffineTransform(scaleX: 1.0, y: 5.0)
2
Ning

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)
2
Kevin Kong

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
0
Sulthan