내가하고 싶은 UIBarButtonItem
것은 탐색 표시 줄에 파란색 쉐브론 만 남기고 의 ‘뒤로’버튼에서 텍스트를 제거하는 것 입니다. iOS 7 용으로 개발 중임을 명심하십시오. 다음과 같은 여러 가지 방법을 시도했습니다.
이것은 내가 좋아하지 않은 이미지 방법입니다 (이미지가 제대로 보이지 않았습니다).
UIBarButtonItem *barBtnItem = [[UIBarButtonItem alloc]initWithImage:[UIImage imageNamed:@"iOS7BackButton"] style:UIBarButtonItemStylePlain target:self action:@selector(goToPrevious:)];
self.navigationItem.leftBarButtonItem = barBtnItem;
내가 시도한 또 다른 방법은 이것이 작동하지 않았습니다 (아무것도 표시되지 않음).
UIBarButtonItem *barBtn = [[UIBarButtonItem alloc]init];
barBtn.title=@"";
self.navigationItem.leftBarButtonItem=barBtn;
내가 달성하고 싶었던 것은 단일 셰브론 만 특징 인 iOS 7 Music 앱의 뒤로 버튼과 같은 것입니다.
감사.
답변
[[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(-60, -60)
forBarMetrics:UIBarMetricsDefault];
그런 다음 뒤로 단추 항목 제목을 제거 할 수 있습니다.
스토리 보드를 사용하는 경우 탐색 속성 관리자 뒤로 버튼을 공백으로 설정할 수 있습니다.
답변
제목을 변경하지 않고 뷰 컨트롤러의 뒤로 단추 제목을 설정하려면 다음을 사용하십시오.
목표 -C :
self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"" style:self.navigationItem.backBarButtonItem.style target:nil action:nil];
빠른:
navigationItem.backBarButtonItem = UIBarButtonItem(title: "", style: .plain, target: nil, action: nil)
분명히, 이것은 뒤로 버튼을 눌렀을 때 볼 수있는 뷰 컨트롤러에서 수행됩니다. 즉, ‘<Settings’를 보는 대신 ‘<‘를보고 싶은 경우 SettingsViewController에서이를에 넣으십시오 init
. 그러면 뷰 컨트롤러 자체를 볼 때 제목에 표시되지 않는 문제가 발생하지 않습니다.
답변
스토리 보드를 사용 Attributes Inspector
하는 경우 ViewController 로 이동하여 Navigation Item
(을 클릭 Navigation Bar
) Back Button
속성을 “”(한 공백 문자)로 설정할 수 있습니다. 뒤로 단추 제목을 공백 문자 하나로 설정하여 갈매기 모양 표시를 유지합니다. 코드를 망칠 필요가 없습니다.
이렇게하면 이 컨트롤러 내부에 표시 되는 것이 아니라 상단 버튼을 눌렀을 때이 View Controller에 표시되는 뒤로 단추의Back Button
제목 이 설정 됩니다.Back Button
답변
이것은 텍스트없이 ‘뒤로’쉐브론을 표시하는 데 효과적입니다.
self.navigationController.navigationBar.topItem.title = @"";
viewDidLoad
탐색 막대를 표시하는 View Controller 에서이 속성을 설정 하면 트릭이 수행됩니다.
참고 : iOS 7에서만 문제를 테스트했습니다.
답변
버튼 제목을 설정할 때는 @ “”대신 @ “”를 사용하십시오.
–편집하다–
다른 줄을 시도 할 때 어떤 변화가 있습니까? 다음 코드를 성공적으로 사용하고 있습니다.
UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:backString style:UIBarButtonItemStyleDone target:nil action:nil];
[[self navigationItem] setBackBarButtonItem:backButton];
backString은 iOS 7 이하 버전인지에 따라 @ “”또는 @ “Back”으로 설정되는 변수입니다.
한 가지 주목할 점은이 코드가 뒤로 버튼을 사용자 정의하려는 페이지의 컨트롤러에 없다는 것입니다. 실제로 네비게이션 스택에 컨트롤러 앞에 있습니다.
답변
때로는 상황에 맞는 것을 보는 것이 도움이됩니다. 다음은 “뒤로”텍스트를 숨기지 만 여전히 화살표를 표시하는 최소 프로젝트입니다.
스토리 보드
“두 번째 뷰 컨트롤러 표시”버튼에서 두 번째 뷰 컨트롤러로 표시되는 쇼가 있습니다.
또한 제목을 갖도록 탐색 항목을 두 번째보기 컨트롤러에 추가했습니다. 이것은 선택 사항입니다. 뒤로 버튼에는 영향을 미치지 않습니다.
암호
FirstViewController.swift
import UIKit
class FirstViewController: UIViewController {
@IBAction func showSecondViewControllerButtonTapped(sender: UIButton) {
// hide the back button text
navigationItem.backBarButtonItem = UIBarButtonItem(title: "", style: .plain, target: nil, action: nil)
}
}
SecondViewController.swift
import UIKit
class SecondViewController: UIViewController {
// Nothing at all needed here
}
대체 방법 (IB 만, 코드 없음)
스토리 보드에서 첫 번째 보기 컨트롤러 (두 번째 아님) 의 탐색 항목을 선택하십시오 . 뒤로 버튼 텍스트를위한 공간을 입력하십시오.
답변
self.navigationController.navigationBar.topItem.title = @"";