2009-11-19 2 views
0

사진을 풍경으로 찍을 때 카메라 애플리케이션처럼 UIToolBar의 버튼을 회전 할 수있는 방법이 있습니까?iPhone 앱에서 UIToolBar의 회전 버튼

사용자가 iPhone을 회전 할 때 툴바를 같은 위치에두고 싶을 때나 옆으로 눕지 않도록 버튼을 돌리고 싶습니다.

미리 감사드립니다.

+0

도구 모음이 회전 넓어하지만, 화면의 왼쪽 또는 오른쪽에 남아 의미합니까? 또는 단추의 텍스트가 회전하고 단추와 도구 모음이 같은 위치에 유지된다는 의미입니까? –

+0

내가하려고하는 것은 : 사용자가 아이폰을 돌리면 툴바에있는 버튼의 아이콘이 회전하므로 사용자는 아이폰을 똑바로 볼 수 있습니다. – SpaceDog

답변

2

나는 이것을 처리하기 위해 내장 된 것이 없다고 생각합니다. 그러나 이것을 코드화하는 것은 가능합니다. 1) 방향이 바뀌 었다고 말하는 메시지를 들어라. 보기가 회전하는 것을 허용하지 마십시오 (도구 막대가 움직이지 않도록 할 것입니다). 그러나 다른 것들을 할 수있는 기회를 이용하십시오.
2) 단추의 이미지를 90도 회전 한 이미지로 바꾸십시오.
3) 회전 애니메이션을 수행하는 Core Animation의 컨텍스트 내에서 이미지 바꾸기를 수행하십시오. 이렇게하는 방법에 대한 몇 가지 코드 샘플을 찾을 수 있어야합니다.

올바른 방향으로 바라는 데 도움이되는 희망.

+0

그게 다야! 감사! – SpaceDog

1

나는 이것을해야만했다. 켄 (Ken)이 제안한 것처럼 대체 이미지를 사용하면 회전을 애니메이션화하는 좋은 방법을 찾을 수 없습니다. 간단한 UIBarButtonItem은 할 수 없지만 사용자 정의보기를 사용하여 변환 할 수있는 항목의 이미지에 대한 변환을 설정하는 것이 가장 좋습니다.

[[UIBarButtonItem alloc] initWithImage : image 대신에 대상 : t 조치 : A] :

다음
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; 
[button addTarget:t action:a forControlEvents:UIControlEventTouchUpInside]; 
[button setImage:image forState:UIControlStateNormal]; 
button.showsTouchWhenHighlighted = YES; // makes it highlight like normal 
item = [[UIBarButtonItem alloc] initWithCustomView:button]; 

당신이 할 수 있습니다

[UIView beginAnimations:@"rotate barbuttonitems" context:NULL]; 
item.customView.transform = CGAffineTransformMakeRotation(M_PI_2); 
[UIView commitAnimations];