2012-08-10 2 views
2

현재 UINavigationBar의 leftBarButton에 대한 버튼 이미지가 있습니다. 이 단추와 UINavigationBar의 왼쪽 가장자리 사이의 공간을 없애는 방법이 있습니까? UINavigationBar 배경에 대한 사용자 지정 이미지를 만드는 것에 대해 생각했지만 다른 화면에서 생성 된 뒤로 단추를 사용할 수 있기를 원합니다. 아이디어?막대의 왼쪽과 leftBarButtonItem 사이의 UINavigationBar의 공간을 제거합니다.

답변

0

탐색 모음 자체의 레이아웃 논리는 왼쪽에 해당 공간을 유지하려고 할 것입니다.

탐색 항목 (UIBarButtonItem initWithCustomView :)을 설정할 때 사용자 지정보기를 지정하고 음수 x 기준 뷰를 전달할 수는 있지만 탐색 모음에서 이러한 원본을 무시한다고 가정합니다. (해당보기에 대한 참조를 유지하고 탐색 모음의 레이아웃이 완료된 후 왼쪽으로 이동)

또 다른 옵션은 사용자 정의 탐색 모음을 만들려고 시도하는 것입니다. 네비게이션 바 중앙에 사용자 정의보기가 있고 너비가 넓으므로 바를 늘려 가로 세로 &을 표시합니다.

0

은 나를 위해 작동이 시도 :

CGRect frame = self.navigationController.navigationBar.frame; 
frame.origin.x = -10; 
self.navigationController.navigationBar.frame = frame; 

는 기본적으로 탐색 모음 x가 음수가 바 항목에 좌표 설정합니다. 그냥 왼쪽에 대한 권리로 마지막

예를 들어, 처음으로 더미를 추가해야합니다 왼쪽 공간을 고정 더미 barbuttonitem 을 추가 할 수 있습니다 iOS7에에

0

, 당신은 당신의 원래 항목을 설정 한 후 나있는 viewDidLoad 경우이를 추가해야 스토리 보드를 사용하여 버튼을 설정하고 있습니다.

NSMutableArray *buttons = [[NSMutableArray alloc] init]; 
UIBarButtonItem *spacerItem = [[UIBarButtonItem alloc] init]; 
[buttons addObject:spacerItem]; 
for(UIBarButtonItem *item in self.leftBarButtonItems){ 
    [buttons addObject:item]; 
} 
[self setLeftBarButtonItems:[NSArray arrayWithArray:buttons] animated:NO]; 
관련 문제