Pergunta

Como posso rodar manualmente uma visão usando os autoresizingMasks, como se o usuário tivesse rodado o telefone e ele tinha auto-rotação. Também eu quero que seja instantânea, sem animação. I você quer saber por que eu preciso disso, olhar para a minha outra pergunta em iPhone Dev - mantendo a rotação de interface .

Graças !!

Foi útil?

Solução

O que você quer fazer aqui é usar transformações Affine para girar sua visão, eu tenho feito isso, porém eu não tenho o código na frente de mim no momento. Se você fizer uma simples rotação você verá que sua visão será cortado e não no centro, como falta youd, o que você precisa fazer aqui é definido a âncora de sua camada (brincar com o valor até que você começa o que você quer) em ordem para o fim de aparecer onde você quiser. A maneira de abordar esta questão é apenas fazer o afim de 90 graus transformar rotação e ver os efeitos que tem sobre a vista. Desta forma, você deve ser capaz de descobrir onde você camadas âncora precisa ser. Ill postar um código de exemplo aqui mais tarde quando estou na frente do meu mac. Espero que ajude

Outras dicas

I di não entendo muito bem o que você quer dizer com

"... usando as autoresizingMasks ..."

Eu fiz o mesmo com animação UIIView. Há uma abundância de outras técnicas também lá fora. aqui está o meu código:

-(void)rotateToLandscape
{
UIWindow *win = [[UIApplication sharedApplication]keyWindow];
if(UIInterfaceOrientationIsPortrait(self.interfaceOrientation)){
    [[[UIApplication sharedApplication] keyWindow] setBackgroundColor:[UIColor blackColor]];
    [UIView beginAnimations:@"View Flip" context:nil];
    [UIView setAnimationDuration:0.3];
    [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
    win.transform = CGAffineTransformIdentity;
    win.transform = CGAffineTransformMakeRotation(degreesToRadian(90));
    win.bounds = CGRectMake(0.0f, 0.0f, 480, 320);
    win.center = CGPointMake(160.0f, 240.0f);
    [UIView commitAnimations];
}   

}

// Espero que o código não precisa de explicação.
// Você pode remover as declarações de animação para obter o efeito desejado (un-animado).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top