2014-12-30 30 views
7

tôi cố gắng thiết lập thanh điều hướng của tôi trong suốt liên quan đến một hình ảnh dưới đây này, một cái gì đó giống như hình ảnh sau:Make thanh điều hướng minh bạch liên quan bên dưới hình ảnh trong iOS 8.1

enter image description here

Tôi đã thử các giải pháp trong transparent navigation bar ios nhưng tôi không nhận được kết quả trên, tôi chỉ nhận được biểu tượng ở bên trái nhưng không có bất kỳ màu nào trong thanh điều hướng, hoàn toàn trong suốt. Nhưng nếu tôi đặt màu nền thì độ trong suốt sẽ biến mất.

Có cách nào để đặt màu trong thanh điều hướng và làm cho màu trong suốt ??

Xin cảm ơn trước.

Trả lời

30

chỉ cần kiểm tra trên 8.1 mô phỏng và nhận được kết quả rất giống với hình ảnh của bạn

let bar:UINavigationBar! = self.navigationController?.navigationBar 

    bar.setBackgroundImage(UIImage(), forBarMetrics: UIBarMetrics.Default) 
    bar.shadowImage = UIImage() 
    bar.backgroundColor = UIColor(red: 0.0, green: 0.3, blue: 0.5, alpha: 0.3) 

điểm chính ở đây là màu nền với alpha.

Kiểm tra hình ảnh đính kèm, có thể tôi đã bỏ lỡ điều gì đó?

enter image description here

+0

Tôi không chắc rằng hiểu câu hỏi của bạn, bạn có hỏi về Alpha Chanel về màu sắc không? – sage444

+0

Cảm ơn @ sage44, đừng lo lắng về nó –

0

Bạn đã thử đặt thuộc tính alpha của navigationBar chưa? Theo quan điểm của bộ điều khiển gốc của bạn với bộ điều khiển chuyển hướng ...

[self.navigationController.navigationBar setBackgroundColor:[UIColor greenColor]]; 
[self.navigationController.navigationBar setAlpha:0.3f]; 
+0

khi bạn đặt alpha để xem nó cũng áp dụng cho các bản xem phụ? – sage444

+0

Tôi tin rằng đó là lý do tại sao bạn có thể thiết lập màu nền để có màu không đục với '[self.navigationController.navigationBar setBackgroundColor: [UIColor colorWithRed: 0,5 green: 0.5 blue: 0.5 alpha: 0.5]];' – timgcarlson

+0

Tôi tin rằng giá trị alpha của màu nền không giống như thuộc tính alpha của UIView, nhưng bạn có thể kiểm tra;) – sage444

12

Để đặt kiểu này trên toàn cầu, hãy sử dụng API UIAppearance. Trong số application:didFinishLaunchingWithOptions: của AppDelegate, hãy thêm mã sau:

// Sets background to a blank/empty image 
UINavigationBar.appearance().setBackgroundImage(UIImage(), forBarMetrics: .Default) 
// Sets shadow (line below the bar) to a blank image 
UINavigationBar.appearance().shadowImage = UIImage() 
// Sets the translucent background color 
UINavigationBar.appearance().backgroundColor = UIColor(red: 0.0, green: 0.3, blue: 0.5, alpha: 0.3) 
// Set translucent. (Default value is already true, so this can be removed if desired.) 
UINavigationBar.appearance().translucent = true 
+0

Cảm ơn bạn! Đây là câu trả lời chính xác. Các câu trả lời khác không được kiểm tra gần đây. – Michael

Các vấn đề liên quan