2017-11-15 3 views
1

나는 새로운 정보이므로 많은 정보를 얻을 수 없기 때문에 검색하고 있습니다.iOS 11 NavigationBar의 로고 및 제목

어쨌든, 난 iOS 11의 새로운 Navbar의 기능의 사용을 얻기 위해 노력하고 있어요하지만 내 NavBar에 로고 (각 ViewController의) 큰 제목을 모두 넣고 싶다. 아래의 스크린 샷처럼 뭔가 :

enter image description here

어떻게 가능이를 구현하는 방법?

사이드 힌트 : iOS 10 동일 app를 들어

내가 보여 대신 NavBartitleView 할 수있는 로고를 설정하지만 지금은 새로운 버전에서 우리는 너무 제목을 추가합니다.

미리 감사드립니다.

답변

1

당신을 위해 잘못되면 무슨 말을하기 어렵다, 그러나 이것은 단지 작동합니다

override func viewDidLoad() { 
    super.viewDidLoad() 

    if #available(iOS 11, *) { 
     navigationController?.navigationBar.prefersLargeTitles = true 
     navigationItem.largeTitleDisplayMode = .always 
     title = "Your title" 
    } 

    let titleImageView = NavigationImageView() 
    titleImageView.image = UIImage(named: "yourImageName") 
    navigationItem.titleView = titleImageView 
} 

편집 : 당신이 할 수있는 타이틀보기를 사용자 정의 크기를 설정하려면 당신의 UIView (있는 UIImageView) 및 sizeThatFits

class NavigationImageView: UIImageView { 
    override func sizeThatFits(_ size: CGSize) -> CGSize { 
     return CGSize(width: 50, height: 50) 
    } 
} 
+0

완벽하지만 작동하지만 지금은 또 다른 문제가 있습니다. 크기를'titleImageView.frame = CGRect (x : 0.0, y : 0.0, width : 64, height : 30)'로 설정해도 로고의 크기가 너무 큽니다. 이 코드 부분은'iOS 10 '에서 잘 작동하지만'iOS 11'에서는 작동하지 않습니다. 새로운 'iOS'에서 바뀌 었습니까? –

+0

@AbedNaseri 나는 내 대답을 편집했다. 아마 도움이 될 것이다. –

+0

감사합니다. Nav와 iOS 11에 대해 다른 질문이 있습니다. D : 물어볼 수 있습니까? –

0

내비게이션 막대의 배경 이미지 설정을 시도 했습니까? 이처럼 : 코드 샘플없이

// Set Navigation bar background Image 
let navBgImage:UIImage = UIImage(named: "[image.jpg]")! 
self.navigationController!.navigationBar.setBackgroundImage(navBgImage, for: .default) 
+0

없음 나는 그것을 시도하지 않았다 무시하지 서브 클래스지만, 덕분에 내 문제는로 해결 위의 맹세. –

관련 문제