[ios] 모든 탐색 모음 뒤로 버튼 제목을 제거하는 방법

UIViewController누르면 new에서 뒤로 버튼에 제목이 몇 개 있고 , 제목에 UIViewController글씨가 많으면 아이폰 4s에서는 잘 보이지 않아서 제거하고 싶습니다.

prepareForSegue함수에 코드를 추가 하면 문제가 될 것입니다.

이것을 달성하는 더 좋은 방법은?



답변

뒤로 화살표를 원하면 다음 코드를 AppDelegate파일에 넣습니다 didFinishLaunchingWithOptions.

For Objective-C

 [[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(0, -60) forBarMetrics:UIBarMetricsDefault];

For Swift

let BarButtonItemAppearance = UIBarButtonItem.appearance()
BarButtonItemAppearance.setTitleTextAttributes([NSForegroundColorAttributeName: UIColor.clear], for: .normal)

다른 옵션은 아래에 제공됩니다.

Objective C

self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"" style:UIBarButtonItemStylePlain target:nil action:nil];

Swift

self.navigationItem.backBarButtonItem = UIBarButtonItem(title:"", style:.plain, target:nil, action:nil)

업데이트 :

    let BarButtonItemAppearance = UIBarButtonItem.appearance()

    let attributes: [NSAttributedStringKey: Any] = [
    BarButtonItemAppearance.setTitleTextAttributes([NSForegroundColorAttributeName: UIColor.clear], for: .normal)
            NSAttributedStringKey.font: UIFont.systemFont(ofSize: 0.1),
            NSAttributedStringKey.foregroundColor: UIColor.clear]

    BarButtonItemAppearance.setTitleTextAttributes(attributes, for: .normal)
    BarButtonItemAppearance.setTitleTextAttributes(attributes, for: .highlighted)

SWIFT 4.1 업데이트 :

    let attributes = [NSAttributedStringKey.font:  UIFont(name: "Helvetica-Bold", size: 0.1)!, NSAttributedStringKey.foregroundColor: UIColor.clear]

    BarButtonItemAppearance.setTitleTextAttributes(attributes, for: .normal)
    BarButtonItemAppearance.setTitleTextAttributes(attributes, for: .highlighted)

오프셋 사용

UIBarButtonItem.appearance().setBackButtonTitlePositionAdjustment(UIOffsetMake(-1000, 0), for:UIBarMetrics.default)

따라서 문제가 해결되었을 수 있습니다.

즐거운 코딩입니다.


답변

작업은 Swift 3의 매력과 같습니다.

self.navigationController?.navigationBar.topItem?.title = " "


답변

backbutton을 제거하기 위해 메서드 에 AppDelegate파일 의이 코드 줄을 사용 didFinishLaunchingWithOptions하고 title있습니다.

스위프트 2.x

let barAppearace = UIBarButtonItem.appearance()
barAppearace.setBackButtonTitlePositionAdjustment(UIOffsetMake(0, -60), forBarMetrics:UIBarMetrics.Default)

스위프트 3.x

UIBarButtonItem.appearance().setBackButtonTitlePositionAdjustment(UIOffsetMake(0, -60), for:UIBarMetrics.default)

스위프트 4.x

UIBarButtonItem.appearance().setTitleTextAttributes([NSAttributedStringKey.foregroundColor: UIColor.clear], for: .normal)
    UIBarButtonItem.appearance().setTitleTextAttributes([NSAttributedStringKey.foregroundColor: UIColor.clear], for: UIControlState.highlighted)


답변

다른 ViewController가 종속 된 부모 ViewController 로 이동하면 됩니다.

override func viewWillDisappear(animated: Bool) {
super.viewWillDisappear(true)
navigationItem.backBarButtonItem = UIBarButtonItem(title: "", style: .Plain, target: nil, action: nil)}


답변

이 코드를 복사하십시오. didFinishLaunchingWithOptions launchOptions

스위프트 5

UIBarButtonItem.appearance().setBackButtonTitlePositionAdjustment(UIOffset(horizontal: -1000.0, vertical: 0.0), for: .default)

스위프트 4

UIBarButtonItem.appearance().setBackButtonTitlePositionAdjustment(UIOffsetMake(-1000.0, 0.0), for: .default)


답변

이건 간단하다. 뒤로 버튼의 제목에 공백을 넣고 준비하십시오. 텍스트를 제거하려는 이전보기에 있어야합니다.

여기에 이미지 설명 입력


답변

xcode 8 및 swift 3.0을 사용할 수 있습니다.

self.navigationController?.navigationBar.backItem?.title = " "