2009-12-11 71 views
52

Vì vậy, ngay bây giờ tôi có một UIView với một số UILabel trong đó. Tôi muốn nền có độ mờ đục < 1.0 và nhãn có độ mờ là 1.0. Tuy nhiên, kể từ khi alphas tuyên truyền phân cấp khung nhìn, nhãn cũng kết thúc với độ mờ đục là < 1.0.100% độ mờ đục UILabel trên nền mờ 50% (UIView?)

Có cách nào để thực hiện những gì tôi muốn mà không làm cho chế độ xem phụ của một chế độ xem khác không ????

+0

Tại sao bạn không muốn thêm chế độ xem khác? Tôi nghĩ đây là cách đúng đắn. –

Trả lời

196

Chỉ cần thiết lập màu nền được bán trong suốt:

view.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.5f]; 

Hoặc, trong Swift:

view.backgroundColor = UIColor.blackColor().colorWithAlphaComponent(0.5) 

Hoặc, Swift 3:

view.backgroundColor = UIColor.black.withAlphaComponent(0.5) 

Lưu ý rằng, đặc biệt này trường hợp, UIColor(white: 0, alpha: 0.5) ngắn gọn hơn, nhưng colorWithAlphaComponent sẽ hoạt động nói chung.

+18

Bây giờ điều này thật tuyệt vời! +1 –

+2

Tôi thứ hai! Tuyệt vời ! Tôi không có ý tưởng bạn có thể làm điều đó. –

+0

SWIFT: view.backgroundColor = UIColor.blackColor(). ColorWithAlphaComponent (0.5) – budidino

0

Bạn có thể đặt màu nền của UIView với màu bán trong suốt hoặc tự làm cho hình ảnh trong suốt. Bằng cách này, đây là thuộc tính của chế độ xem minh bạch chứ không phải chính chế độ xem.

-7

Bạn có thể sử dụng này:

self.view.layer.opacity=0.5 
+2

Điều này không làm những gì poster muốn. Điều này đặt độ mờ cho văn bản nhãn cũng như nền. – RajV

12

Bên cạnh đó là có sẵn trong mã, bạn có thể làm được điều này khá dễ dàng từ iB cũng như:

  1. Trong kịch bản, chọn xem bạn muốn chỉnh sửa ;
  2. Từ bảng bên phải, hãy đảm bảo rằng thanh tra Thuộc tính được mở;
  3. Nhấp vào bên phải của hộp thả xuống "Nền" và chọn "Khác ..."; nó sẽ mở ra một hộp thoại bộ chọn màu;
  4. Thay đổi "Độ mờ" ở dưới cùng để đặt độ mờ màu nền.
Các vấn đề liên quan