2014-09-28 16 views
7

Tôi có chế độ xem là chế độ xem con của chế độ xem khác, sau đó tôi đặt giá trị alpha của chế độ xem cha là 0,5, nhưng điều này cũng làm cho chế độ xem phụ trong suốt ngay cả khi giá trị alpha được đặt thành 1. Vì vậy, làm cách nào tôi có thể thực hiện subview không minh bạch (đục) khi view cha của nó có giá trị alpha nhỏ hơn 1?iOS làm cách nào để làm cho chế độ xem phụ của chế độ xem trong suốt mờ đục?

+1

Tôi mới ở đây được nhiều người đánh giá cao nếu có ai có thể cho tôi biết tại sao câu hỏi của tôi bị bỏ phiếu? Sau đó, tôi có thể tránh được vấn đề như vậy trong các câu hỏi của mình trong tương lai. – axl411

+1

@JoeBlow Cảm ơn bạn đã trả lời chi tiết! – axl411

+0

Đừng quên giải pháp đơn giản, chỉ cần không làm cho B một đứa trẻ của xem đó A. Làm cho B một đứa trẻ của một "chủ sở hữu" giữ cả hai, nhưng có B trên đầu trang. – Fattie

Trả lời

15

Gần nhất bạn sẽ nhận được là colorWithAlphaComponent:. Sử dụng một cái gì đó như sau, bạn có thể đặt thành phần alpha của nền của chế độ xem gốc và nó sẽ không ảnh hưởng đến các bản xem trước.

[yourSuperview setBackgroundColor:[[UIColor blackColor] colorWithAlphaComponent:0.5]]; 
+0

Điều này giải quyết được vấn đề của tôi, thx! – axl411

1

Nếu bạn đặt chế độ xem gốc thành 0,5, tất cả các bản xem trước cũng sẽ chuyển sang 0,5 trở xuống. Bạn sẽ phải đưa ra một cách tiếp cận thiết kế khác.

0

Bạn nên có hai thiết kế cho chế độ xem gốc. Một sẽ là thiết kế "được kích hoạt", hiển thị nó như nó và thiết kế kia sẽ là thiết kế "vô hiệu hóa", có thể chứa nền trong suốt.

Bạn không thể làm điều này với alpha, vì các bản xem trước kế thừa alpha. Nếu

parent.alpha = x

view.alpha = y,

thì alpha thực sự của quan điểm sẽ là:

x * y

+0

Tại sao quá phức tạp .. ?? Xem các câu trả lời khác để có cách tiếp cận tốt hơn – ATV

0

Tôi nghĩ, Bạn đã tạo Chế độ xem theo bảng phân cảnh. Tôi đã phải đối mặt với vấn đề này. Tìm mã bên dưới, điều này đúng trong trường hợp của tôi.

[MyParentView setBackgroundColor:[[UIColor blackColor] colorWithAlphaComponent:0.6]]; 

Hy vọng, điều này có thể giúp bạn.

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