He encontrado mucha información sobre el ajuste automático, pero ninguno ha podido resolver mi problema. Tengo un ViewController (RAViewController) que llama a una vista en su método loadView así:¿Cómo funciona la máscara de aumento automático?
- (void)loadView
{
// Set Navigation Bar Title
self.navigationItem.title = @"RA";
// Add Background view
self.view = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Add RAView
RAView *rAView = [[RAView alloc] initWithFrame:self.view.frame Controller:self];
[self.view rAView];
}
La vista que llama (RAView) tiene el siguiente aspecto:
- (id)initWithFrame:(CGRect)frame Controller:(RAViewController *)Controller
{
self = [super initWithFrame:frame];
if (self) {
// Initialization code
self.autoresizesSubviews = YES;
self.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
self.backgroundColor = [[UIColor alloc] initWithRed:1.0 green:1.0 blue:1.0 alpha:1.0];
controller = Controller;
// Draw Architecture View
[self drawArchitectureView];
}
return self;
}
-(void)drawArchitectureView {
UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(10, 10, self.frame.size.width - 20, 50);
[button setBackgroundColor:[UIColor grayColor]];
[button setTitle:@"Overview" forState:UIControlStateNormal];
[self addSubview:button];
}
Por alguna razón no puedo obtener el aumento automático de la máscara para redimensionar el ancho del botón cuando el dispositivo es horizontal. Cualquier ayuda es muy apreciada.
Creo que necesita para establecer el autoresizingMask en el propio UIButton. –
Intenté eso. El botón terminó moviéndose de la pantalla, que no es lo que esperaba, lo que significa que realmente no entiendo cómo funciona. Tampoco es el punto de 'self.autoresizesSubviews = YES;' así que no tengo que hacer eso? –
¿Qué intentaste al configurar los botones autoresizeMask? ¿Probaste UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin? –