문제

사용자가 전화를 회전하고 자동으로 방송 된 것처럼 자동 레인지 마스크를 사용하여 뷰를 어떻게 수동으로 회전 할 수 있습니까? 또한 나는 그것이 즉각적이고 애니메이션이 없기를 원합니다. 나는 당신이 왜 이것을 필요로하는지 알고 싶습니다. 내 다른 질문을보세요 iPhone Dev- 인터페이스 회전 유지.

감사!!

도움이 되었습니까?

해결책

당신이 여기서하고 싶은 것은 Affine Transforms를 사용하여 당신의 견해를 회전시키는 것입니다. 나는 지금까지 내 코드를 가지고 있지 않지만 이것을 달성했습니다. 간단한 회전을 수행하면 뷰가 끊어지고 원하는 것처럼 중앙에 있지 않다는 것을 알게 될 것입니다. 여기서해야 할 일은 레이어의 앵커를 설정하는 것입니다 (원하는 것을 얻을 때까지 값을 가지고 놀십시오). 원하는 곳에 보이기 위해. 이에 접근하는 방법은 90도 아핀 변환 회전을 수행하고 시야에 미치는 영향을 보는 것입니다. 이렇게하면 앵커가 필요한 위치를 파악할 수 있어야합니다. 나중에 Mac을 가로 질러 나중에 샘플 코드를 게시 할게요. 도움이되기를 바랍니다

다른 팁

나는 당신이 의미하는 바를 잘 이해하지 못합니다

"... AutoresizingMasks 사용 ..."

나는 uiiview 애니메이션과 똑같이했다. 다른 기술도 많이 있습니다. 내 코드는 다음과 같습니다.

-(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];
}   

}

// 코드에 설명이 필요하지 않기를 바랍니다.
// 애니메이션 문을 제거하여 원하는 효과를 얻을 수 있습니다 (분석되지 않음).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top