2012-11-28 3 views
1

내 앱의 기본보기에서 사용자 정의 이미지 ([UIImage imageNamed:]으로 생성)와 함께 UIBarButtonItem (실제 버튼 2 개와 유연한 스페이서 2 개)을 인스턴스화 한 다음 항목으로 설정합니다 UIToolBar 아이팟에서 실행하면 예상대로iPhone 전용 앱을 iPad에서 실행할 때 오프셋 된 텍스처

-(void)viewDidLoad{ 
    [super viewDidLoad]; 

    UIToolbar *menuBar = [UIToolbar new]; 
    menuBar.barStyle = UIBarStyleDefault; 

    CGRect viewBounds = [UIScreen mainScreen].bounds; 

    //menuBar is rotated to be viewed vertically along the right side of the device in portrait orientation, the app does not support device rotation 
    menuBar.transform = CGAffineTransformRotate(menuBar.transform, M_PI * 0.5f); 

    [menuBar setFrame:CGRectMake(viewBounds.size.width - menuBarHeight, 5, menuBarHeight, viewBounds.size.height)]; 

    [self.view addSubview:menuBar]; 

    [menuBar release]; 

    UIBarButtonItem 
     *peekButton = [[UIBarButtonItem alloc] 
         initWithImage:[UIImage imageNamed:@"peekIcon.png"] 
         style:UIBarButtonItemStyleDone 
         target:self 
         action:@selector(peek:)], 
     *pauseButton = [[UIBarButtonItem alloc] 
         initWithImage:[UIImage imageNamed:@"pauseIcon.png"] 
         style:UIBarButtonItemStyleDone 
         target:self 
         action:@selector(pauseGame:)], 
     *flexSpace = [[UIBarButtonItem alloc] 
         initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace 
         target:nil 
         action:nil]; 

    menuBar.items = @[flexSpace, pauseButton, peekButton]; 

    [flexSpace release]; 
    [pauseButton release]; 
    [peekButton release]; 
} 

터치 아이폰 OS 5.1을 실행 도구 모음 및 버튼과 같이 나타 : 여기 코드는

enter image description here

하지만 아이 패드 (아이폰 OS 4.3에서 실행할 경우), 텍스처는 다음과 같이 :

enter image description here

내가 그러나 원인을 식별 할 수없는 것, 나는 그것이 될 수 있습니다 생각 n OS 또는 장치 관련 버그가 있습니다. UI 요소가 그려지는 오브젝트의 데이터에 대해 전혀 무시하고 비슷한 그래픽 문제가 계속 발생하면서 계속 발생합니다. 불행히도이 문제에 대해 밝힐 수있는 관련 문서 (Apple 또는 다른 현명한 문서)를 찾을 수 없습니다.

모든 입력 사항에 큰 감사드립니다.

+0

일부 이미지를 게시하고 싶지만 아직 충분한 담당자가 없습니다. – vigilance

+1

제 생각에는, 당신은 이미지를 게시 할 담당자가 충분하다고 생각합니다. 다시 시도하십시오. :) – iDev

+0

일부 코드도 게시 할 수 있습니까? 그것은 우리에게도 도움이 될 수 있습니다. –

답변

1

문제는 화면 전환 원래 애니메이션 수 없습니다했다

-(void)pushViewController:(UIViewController*)viewController animated:(BOOL)animated;

으로 UINavigationController가의 메소드 호출에서 발생하는 것으로 보인다는 animated 인수는 NO했다. 값을 YES으로 변경하는 것이 해결책 인 것 같습니다.

이것은 또한 내가 겪고있는 다른 그래픽 문제를 해결 한 것으로 보입니다.

+0

정확하게 어떻게 그리고/또는 왜 이것이 버튼 텍스처가 그려지는지에 영향을 미칠지에 대해 나는 당혹 스럽다. 다른 사람이 두 사람의 관계에 대한 통찰력을 가지고 있다면 해결을 위해 – vigilance

+0

+1을 알려주십시오! 나는 당신의 해결책을 더 잘 이해하고 싶습니다. 원래 질문에는 UINavigationController가 없습니다. 그리고 UINavigationController는 이미 툴바를 가지고 있으므로 "menubar"a * different * 툴바가 있습니까? – matt

+0

@matt 'UINavigationController'에 대한 언급이 없습니다. 그 코드는 앱의'레벨 선택 화면 '으로 작동하는 별도의'UITableViewController '하위 클래스에 있습니다. 위 코드가 존재하는'UIViewController' 서브 클래스는'UITableViewController' 서브 클래스에 의해 뷰 계층으로 푸시됩니다. – vigilance

관련 문제