2013-03-18 3 views
3

내 앱이 UINavigationController에서 실행됩니다. 오른쪽에서 새 뷰 컨트롤러를 밀면 오른쪽 상단의 UIBarButtonItem (편집)이 1 픽셀 씩 아래로 이동합니다. 편집 버튼은 그대로 유지되지만 그래픽이 눈에 띄게 이동합니다.UINavigationController 푸시 후 UIBarButtonItem이 아래쪽으로 이동

바 버튼 항목에 대해 UIAppearance 프록시를 설정 한 후에 만 ​​나타납니다. 이것은 내 코드입니다 :

UIImage *barButton = [[UIImage imageNamed:@"navBarBarButton"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 5, 0, 5)]; 
[[UIBarButtonItem appearance] setBackgroundImage:barButton 
             forState:UIControlStateNormal 
             barMetrics:UIBarMetricsDefault]; 

navBarBarButton.png는 52x31 바 버튼 이미지입니다.

기타 잠재적으로 관련 정보 :이은 아이폰 OS 6 시뮬레이터에서 일어나는

  • - 그것은 아이폰 OS 5
  • 이 응용 프로그램은 스토리 보드를 사용에 괜찮아요, 그리고 푸시는 segues에 의해 처리됩니다.
  • 한 픽셀 변위는 한 번만 발생합니다. 즉, 네비게이션 컨트롤러에 다른 레벨로 이동할 때 두 번째로 아래로 밀리지 않습니다.
  • 편집 단추의 텍스트는 그대로 유지됩니다. 버튼 그래픽 만 이동합니다.
  • 다른보기 컨트롤러 (즉, 탐색 스택의 두 번째보기)에서 앱을 시작하려고했습니다. 막대 버튼 항목은 정상 (높은) 위치에 표시되고 새보기를 누르면 아래쪽으로 이동합니다. 이것은 특정보기 컨트롤러와 관련이 없다는 것을 의미하는 것 같습니다.

이 문제가 발생한 이유나 단추 이동을 방지하는 방법에 대해 알고 계신 분이 계신가요? 감사.

+0

느린 애니메이션 모드를 토글하고 이전/이후의 차이를 캡처 할 수 있습니까? –

+0

[video] (http://f.cl.ly/items/33313O0T3j212C040R3k/Screeny%20Video%2019%20Mar,%202013%2012.29.34%20AM.mov) ... 백그라운드에서 정적을 용서하십시오. 그게 내 팬이야. P – yjsoon

답변

3

누구나 같은 문제가 발생하는 경우 위의 31 대신 표준 30px 높이로 barButton 이미지를 사용하여 문제를 해결할 수있었습니다.

+0

고맙습니다. 나는 이것을 발견했다. 같은 문제가있었습니다. http://stackoverflow.com/questions/15545051/ios-custom-uibarbuttonitem-change-position-in-detail-view – luca

+0

그 이유는 무엇입니까? – luca

1

글꼴 크기가 18 일 때 문제가있었습니다. 19로 변경 한 후에는 이동이 사라지고 탐색 모음이 부드럽게 전환됩니다.