2014-12-12 26 views
26

İçinde UIView bulunan bir UILabel var. UIView'in beyaz arka plan rengine sahip olmasını istiyorum, ancak% 50 opaklığa sahip. view.alpha = 0.5'un ayarlanmasıyla ilgili sorun, etiketin% 50'lik bir opaklığa sahip olacağıdır. Bu yüzden, beyaz arka plan rengi ve opaklığı (white_view) olan bir UIView olması ve daha sonra başka bir UIView olması etiket (label_view). Sonra bunu yaparak "white_view" öğesini "label_view" e ekleyin: label_view.addSubview(white_view). Bu görünüşte işe yaramıyor. label_view.backgroundView(white_view) gibi yapmak istiyorum ama UIView üzerinde bir arka plan görünümü ayarlayamazsınız, örneğin bir UICollectionView içinde yapabilirsiniz.Swift UIView arka plan rengi opaklığı

Bunu nasıl çözeceğimiz konusunda herhangi bir ipucu var mı?

EDIT Çünkü birkaç cevap yaklaşık aynı olduğundan buraya yazacağım.

label_view1.backgroundColor = UIColor.whiteColor().colorWithAlphaComponent(0.5) 
label_view1.addSubview(firstPlacelbl) 
endGameView.addSubview(label_view1) 

ve

label_view1.backgroundColor = UIColor(white: 1, alpha: 0.5) 
label_view1.addSubview(firstPlacelbl) 
endGameView.addSubview(label_view1) 

Ve yine etiket ayrıca alfa etkilenir

ve% 50 opaklık alır: Şimdi bile bu denedim. Yanlış yaptığımı anlamadım çünkü renkleri alfa olarak sadece 0,5'e ayarlıyorum ve etiketleri değil. Herhangi bir fikir?

+0

Bu soruyu doğru bir şekilde anlarsam, yarı şeffaf bir UIView ve şeffaf bir beyaz arka plan üzerinde "UILabel" için olmasını istersiniz. Afaik, 'UILabel varsayılan olarak tamamen şeffaf bir arka plana sahip, bu yüzden arka plan rengine sahip olmasını istiyorsanız arkaplan rengini beyaza ayarlamanız gerekir. Böylece aralarında görüşe ihtiyacınız yok. Ayrıca, onu kullanırsanız Storyboard'daki her şeyi uygun şekilde ayarlayabilirsiniz. – Nero

+0

Beyaz arka plan renginde yarı saydam "UIView" ve üstündeki etiketin olmasını istiyorum (eğer çalışmazsa yeni bir görünümde). Yani% 100 görünür bir etiket ile yarı saydam bir kutu gibi. Bence Vitaliy'nin cevabı aşağıda çalışmalı! – user2099024

cevap

86

görünümü alt görünümlerini etkiler. İsterseniz sadece şeffaf arka plan daha küçük 1.

view.backgroundColor = UIColor.whiteColor().colorWithAlphaComponent(0.5) 
+0

Bu, aradığım şeye benziyor. Pazartesi günü evdeyken deneyeceğim ve bilmene izin vereceğim! – user2099024

+0

Vitaliy Gozhenko Düzenlemeyi kontrol et! – user2099024

+0

Ana UIView arka plan rengini UICeo ile UIColor olarak ayarlamanız gerekir: 'endGameView.backgroundColor = UIColor (beyaz: 1, alfa: 0,5)' UILabel'iniz değil –

0

Bulduğunuz sorun, view'un UIView sayfasından farklı olmasıdır. 'görünüm' tüm görünüme karşılık gelir. Örneğin, ana ekranınız bir görünümdür. İhtiyacınız

açıkça tüm 'görünümü' sizin 'UIView' ve ayırmak için senin 'UILabel'

Sen, film şeridine gidiyor öğe, Kimlik Müfettiş tıklayarak ve Restoration ID değiştirerek gerçekleştirebilirsiniz. Şimdi

restorasyon kimliğini kullanarak kodunuzda her öğeye erişmek için Sen view.alpha view?.backgroundColor = UIColor(white: 1, alpha: 0.5)

+0

Yalnızca UIViews'i kullanıyorum, örneğin: var label_view = UIView() 've görünümler program aracılığıyla yapılır, hiçbir hikaye panosu kullanılmaz. Bahşiş için teşekkürler! – user2099024

35

a alpha özelliğinin ayarlanması etkileyen alfa UIColor manzaralı arka plan rengini ayarlayabilir ve olamaz

+0

Teşekkür ederim, bu aşağıda @ Vitaliy'nin cevabı gibi görünüyor. Bunu da deneyeceğim ve pazartesi günü haber vereceğim! Teşekkürler – user2099024

+0

Hey lütfen düzenlememi kontrol et! Çözümünüzü denedim ve yapmak istediğim şekilde çalışmıyor! – user2099024

+1

hızlı 3: "UIColor.white.withAlphaComponent (0.5)" – BlueBoy

0

O Swift Basit bulunuyor alfa bileşenine sahip bir renge görünümün backgroundColor proprty ayarlayın. Sadece bu rengi arka plan görünümü renginize koyun ve işe yarayacaktır. Swift içinde

enter image description here

5

Ayrıca rengin opaklığını değiştirerek InterfaceBuilder den ayarlayabilirsiniz8.2.

Size yardımcı olabilir.

8

3,0

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

Bu xcode benim için çalışıyor:

let dimAlphaRedColor = UIColor.redColor().colorWithAlphaComponent(0.7) yourView.backGroundColor = dimAlphaRedColor