aumente la altura de UIProgressView cuando la use como titleView en la barra de navigation

Estoy usando una vista de progreso (UIProgressView) como titleView en un elemento de navigation, para que aparezca en mi barra de navigation. No importa lo que haga, parece muy estrecho en iOS 7.1:

introduzca la descripción de la imagen aquí

Odio esta versión de la vista de progreso. ¿Cómo puede hacerlo más grueso / grueso / más alto? He intentado todo lo sugerido aquí y aquí . He intentado cambiar el marco, agregar una transformación, usar una subclass personalizada, agregar restricciones (solo causan un locking). ¡Y el truco que solía usar, añadiendo una image de progressImage y una image de trackImage , se rompe en iOS 7.1 !

Aquí está mi código (todo está sucediendo en el código; no tengo nibs o storyboards en este proyecto):

 UIProgressView* prog = [[UIProgressView alloc] init]; self.prog = prog; self.prog.progressTintColor = [UIColor colorWithRed:1.000 green:0.869 blue:0.275 alpha:1.000]; self.prog.trackTintColor = [UIColor darkGrayColor]; self.navigationItem.titleView = prog; 

Resolví esto de una manera peculiarmente complicada. Ya sabemos que proporcionar una restricción de altura debería funcionar. Pero simplemente haciendo eso se estrelló mi aplicación. Al final tuve una lluvia de ideas. titleView otra vista como my titleView , y puse la vista de progreso dentro de eso. Ahora pude aplicar las restricciones apropiadas:

 UIProgressView* prog = [[UIProgressView alloc] init]; self.prog = prog; self.prog.progressTintColor = [UIColor colorWithRed:1.000 green:0.869 blue:0.275 alpha:1.000]; self.prog.trackTintColor = [UIColor darkGrayColor]; self.prog.translatesAutoresizingMaskIntoConstraints = NO; CGFloat w = 150; CGFloat h = 10; [self.prog addConstraint:[NSLayoutConstraint constraintWithItem:self.prog attribute:NSLayoutAttributeWidth relatedBy:0 toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1 constant:w]]; [self.prog addConstraint:[NSLayoutConstraint constraintWithItem:self.prog attribute:NSLayoutAttributeHeight relatedBy:0 toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1 constant:h]]; UIView* v = [[UIView alloc] initWithFrame:CGRectMake(0,0,w,h)]; [v addSubview:self.prog]; [v addConstraint:[NSLayoutConstraint constraintWithItem:self.prog attribute:NSLayoutAttributeCenterX relatedBy:0 toItem:v attribute:NSLayoutAttributeCenterX multiplier:1 constant:0]]; [v addConstraint:[NSLayoutConstraint constraintWithItem:self.prog attribute:NSLayoutAttributeCenterY relatedBy:0 toItem:v attribute:NSLayoutAttributeCenterY multiplier:1 constant:0]]; v.clipsToBounds = YES; v.layer.cornerRadius = 4; self.navigationItem.titleView = v; 

Como pueden ver, también aproveché esto para agregar un poco de networkingondeo a las esquinas. Creo que el resultado es bastante bonito.

introduzca la descripción de la imagen aquí