2017-05-23 24 views
2

내비게이션 막대의 배경이 부분적으로보기의 내용을 볼 수 있도록 0.5 알파의 색상이되고 싶습니다. 나는 이런 식으로하려고 노력했습니다내비게이션 막대에 알파로 배경색 설정

내가 trueisTranslucent을 설정하면
override func viewWillAppear(_ animated: Bool) { 
    super.viewWillAppear(animated) 

    self.navigationController?.navigationBar.barTintColor = UIColor.blue 
    self.navigationController?.navigationBar.isTranslucent = true 
} 

, 다음 navigationBar 색상은 분명하다. isTranslucentfalse으로 설정하면 색상을 설정하더라도 불투명합니다. UIColor.blue.alpha(0.5)

어떻게하면됩니까?

답변

1

그냥 알파를 가지는 NavigationBar (제외 상태 표시 줄) 배경을 원한다면 .. 시도이

override func viewWillAppear(_ animated: Bool) { 
    super.viewWillAppear(animated) 
    self.navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default) 
    self.navigationController?.navigationBar.isTranslucent = true 
    self.navigationController?.navigationBar.backgroundColor = UIColor.blue.withAlphaComponent(0.5) 
} 

당신이 알파 값이 이미지를 사용할 필요가 알파 임 두려워 status bar을 포함하여 배경 색상을 원하는 경우 . see this

+0

네비게이션 바에 그 색을 적용 할 필요가 있습니다.하지만 게시 할 때 상태 표시 줄에 영향을 주며 분명 배경색으로 보입니다. 그걸 막을 수있는 방법이 있습니까? – AppsDev

0

또한 원하는 색상 및 투명도의 이미지를 만들 수 있습니다 다음 didFinishLaunchingWithOptions 기능에 AppDelegate 단순히이 추가로 : nav.png은 이미지입니다

//navigation bar 
     let navBackgroundImage:UIImage! = UIImage(named: "nav.png") 
     UINavigationBar.appearance().setBackgroundImage(navBackgroundImage, for: .default) 

.

희망이 도움이됩니다. :)