2009-08-13 18 views
6

Tôi có chế độ xem hơi minh bạch (alpha = 0.6) có một số bản xem trước. Tôi muốn một trong các subviews (một UILabel) được vẽ với alpha là 1.0 vì pha trộn làm cho văn bản khó đọc nhưng bằng cách thêm nó như là một subview của view chính nó đã thông qua giá trị alpha của cha mẹ nó. Có cách nào để ghi đè hành vi này không? Tôi tin rằng tôi sẽ phải loại bỏ nó khỏi subview nhưng muốn hỏi và xem nếu có thể tôi đang thiếu một cái gì đó.Bạn có thể ghi đè giá trị alpha của cha mẹ UIView trên một trong các bản xem trước của nó không?

Trả lời

2

Bạn là chính xác. Bạn sẽ phải di chuyển UILabel ra khỏi khung nhìn trong suốt để làm cho nó trở nên không trong suốt.

10

Một cách tiếp cận khác hoạt động dễ dàng là không sửa đổi kênh alpha trên UIView. Thay vào đó, sửa đổi lớp alpha trên đối tượng backgroundColor của UIView.

Tất nhiên điều này phụ thuộc vào lý do bạn tạo lớp alpha trong suốt, nhưng nó hoạt động tốt cho các yêu cầu của tôi.

+0

Cảm ơn bạn! Giải pháp của bạn tốt hơn nhiều so với việc tạo một vùng chứa khác. –

13

Brian là đúng. Ví dụ:

view.backgroundColor = [UIColor colorWithWhite:0 alpha:0.6]; 

sẽ tạo nền đen ở chế độ alpha 0.6 và các chế độ xem khác sẽ không bị ảnh hưởng.

+0

thanx, hoạt động của nó. – ViruMax

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