Altura de la vista de progreso en iOS 7


Quiero aumentar la vista de altura de progreso en iOS 6 y por debajo estoy haciendo esto usando el método de aparición

  UIImage *progressImage = [[UIImage imageNamed:@"sliderbk-progress.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 4, 0, 5)];
[[UIProgressView appearance] setProgressImage:progressImage];

Pero ahora en iOS7 este código no funciona, incluso intento dar el código siguiente, pero no lo uso. Cualquier ayuda será útil. Gracias

[[UIProgressView appearance] setFrame:CGRectMake(20, 100, 280, 100)];
Author: Iqbal Khan, 2013-09-10

7 answers

Si entiendo la pregunta correctamente, parece que desea aumentar la altura de la vista de progreso en iOS7, y el código que utilizó anteriormente en iOS6 ya no funciona.

Tuve que resolver un problema similar recientemente y lo hice agregando una restricción a la vista de progreso en Interface Builder y estableciendo la altura explícitamente a través de la restricción. Esta solución requerirá el uso de Diseño automático, así que asegúrese de tener eso activado.

atributo de altura

Se muestra: el atributo "Height" en el Inspector de tamaño está visiblemente en gris para una Vista de progreso y no se puede cambiar; sin embargo, he definido una restricción en la propia Vista de progreso y he establecido la altura de la restricción en 50 puntos, que en realidad se refleja en IB.

Por lo que he visto las barras de progreso de iOS6 tienen un valor de altura estático, por lo que si también desea admitir iOS6, será necesario otro enfoque para eso.

 56
Author: Derek Lee,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-10-28 02:18:50

Mientras que otros han informado que una CGAffineTransform () también funciona:

[self.progressView setTransform:CGAffineTransformMakeScale(1.0, 3.0)];
 45
Author: user3189408,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-01-16 09:55:45

Utilice este Código: -

 CGAffineTransform transform = CGAffineTransformMakeScale(1.0f, 5.0f);
 progressView.transform = transform;
 16
Author: Rushabh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-09-10 12:28:52

Ya respondió aquí Cómo aumentar la altura de UIProgressView

@implementation UIProgressView (customView)

- (CGSize)sizeThatFits:(CGSize)size 
{
   CGSize newSize = CGSizeMake(self.frame.size.width,9);
   return newSize;
}

@end
 2
Author: Shoaib,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 11:47:16

Aquí está el Swift versión de user3189408 y las grandes soluciones de Rushabh para desarrolladores más nuevos y entusiastas de swift como yo. Probado para iOS 7+ / Swift 2.0.

    progressView.transform = CGAffineTransformMakeScale(1.0, 5.0)
 2
Author: Kevin Kong,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-01-06 19:54:17

Swift 3.x

progressView.transform = CGAffineTransform(scaleX: 1.0, y: 5.0)
 2
Author: Ning,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-11-24 08:39:47

Puede notar que frame no puede ser establecido por appearance el accessor. Tienes que configurarlo en cada vista de progreso por separado.

Por lo general, la altura se establece en función del estilo de la barra de progreso.

- (id)initWithProgressViewStyle:(UIProgressViewStyle)style; // sets the view height according to the style
 0
Author: Sulthan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-09-10 11:36:54