Swift UIV뷰 배경색 불투명도
나는 있습니다UIViewUILabel그 안에 있습니다. UIV뷰의 배경색은 흰색이지만 불투명도는 50%입니다. 시 문제가 했습니다.view.alpha = 0.5라벨도 50%의 불투명도를 가질 것이라는 것입니다. 그래서 저는 아마도 그것이 가능할 것이라고 생각했습니다.UIView한 다음 흰색 배경색을 합니다.UIView레이블(label_view)과 함께 표시됩니다. 다음 " "label_view", "white_view", "white_view".label_view.addSubview(white_view)이것은 분명히 작동하지 않습니다.저는 다음과 같이 하고 싶습니다.label_view.backgroundView(white_view)하지만 배경 보기를 설정할 수는 없습니다.UIView마치 당신이 할 수 있는UICollectionView예를 들어.
이 문제를 해결할 방법을 아는 사람이 있습니까?
편집 몇 개의 답변이 거의 같기 때문에 여기에 입력합니다.이제 저는 이것들도 시도해 보았습니다.
label_view1.backgroundColor = UIColor.whiteColor().colorWithAlphaComponent(0.5)
label_view1.addSubview(firstPlacelbl)
endGameView.addSubview(label_view1)
그리고.
label_view1.backgroundColor = UIColor(white: 1, alpha: 0.5)
label_view1.addSubview(firstPlacelbl)
endGameView.addSubview(label_view1)
여전히 라벨은 알파의 영향을 받습니다. 그리고 불투명도는 50%입니다.저는 제가 무엇을 잘못했는지 이해하지 못합니다. 왜냐하면 저는 라벨이 아닌 알파 색상만 0.5로 설정했기 때문입니다.아이디어 있어요?
보기의 배경색을 알파로 UIColor로 설정할 수 있으며 영향을 미치지 않습니다.view.alpha:
view.backgroundColor = UIColor(white: 1, alpha: 0.5)
또는
view.backgroundColor = UIColor.red.withAlphaComponent(0.5)
정alpha뷰의 속성이 하위 뷰에 영향을 미칩니다. 당신이 단지 투명한 의 투명배세보기원하는경우만트경'▁view.backgroundColor알파 성분이 1보다 작은 색상에 대한 속성입니다.
view.backgroundColor = UIColor.white.withAlphaComponent(0.5)
Swift 4.x 이상의 경우
yourView.backgroundColor = UIColor.black.withAlphaComponent(0.5)
또한 다음에서 설정할 수 있습니다.InterfaceBuilder색상의 불투명도를 변경함으로써:
는 당이발한문라는 것입니다.view 사용자의 의다릅다니과와 .UIView는 전체 를 말합니다 'view'는 전체 보기를 .예를 들어 홈 화면은 보기입니다.
전체 '보기'를 명확하게 구분해야 합니다.UIView' 및 'UILabel'
Inspector를 클릭하고 Identity Inspector를 이할 수 .Restoration ID.
이제 복원 ID를 사용하여 코드의 각 항목에 액세스합니다.
질문은 오래됐지만 같은 고민을 하는 사람들이 있는 것 같습니다.
당신은 '유아이컬러의 알파 속성과 인터페이스 빌더의 불투명성 속성이 코드에서 다르게 적용된다'는 의견에 대해 어떻게 생각하십니까?
Interface Builder에서 작성된 두 뷰는 처음에는 서로 다른 색상이었지만 조건이 변경될 때는 동일한 색상이어야 했습니다.그래서 코드에서 한 뷰의 배경색을 설정하고 두 뷰의 배경색을 동일하게 만들기 위해 다른 값을 설정해야 했습니다.
실제 예를 들어, Interface Builder의 배경색은 0x1212이고 불투명도 값은 80%입니다(Amani Elsaed의 이미지:: 빨강: 18, 녹색: 18, 파랑: 18, 육각색 #: [121212, 불투명도: 80). 코드에서 다른 보기의 배경색을 0.8로 설정했습니다.
self.myFuncView.backgroundColor = UIColor(red: 18, green: 18, blue: 18, alpha: 0.8)
확장자는
extension UIColor {
convenience init(red: Int, green: Int, blue: Int, alpha: CGFloat = 1.0) {
self.init(red: CGFloat(red) / 255.0,
green: CGFloat(green) / 255.0,
blue: CGFloat(blue) / 255.0,
alpha: alpha)
}
}
그러나 실제 뷰는
- '인터페이스 빌더에 지정된 배경색으로 보기': R 0.09 G 0.09 B 0.09 알파 0.8
- '코드별 배경색으로 보기' : R 0.07 G 0.07 B 0.07 알파 0.8
계산해보면,
- 0x12 = 18(표준)
- 18/255 = 0.07058...
- 255 * 0.09 = 22.95
- 23(표준) = 0x17
그래서 UIColor 값을 17, 17, 17, 17, 알파 0.8로 설정하여 색상을 비슷하게 맞출 수 있었습니다.
self.myFuncView.backgroundColor = UIColor(red: 17, green: 17, blue: 17, alpha: 0.8)
아니면 누가 제가 뭘 놓쳤는지 말해줄 수 있나요?
스위프트에서는 심플합니다. 배경화면 색상에 이 색상을 넣기만 하면 작동합니다.
let dimAlphaRedColor = UIColor.redColor().colorWithAlphaComponent(0.7)
yourView.backGroundColor = dimAlphaRedColor
언급URL : https://stackoverflow.com/questions/27439220/swift-uiview-background-color-opacity
'codememo' 카테고리의 다른 글
| iOS 4.0 iTunes Backup에서 Manifest.mbdb 파일을 구문 분석하는 방법 (0) | 2023.08.26 |
|---|---|
| Spring Data에서 날짜별로 마지막으로 주문한 레코드 가져오기 (0) | 2023.08.26 |
| Spring Rest Controller에서 Excel 파일을 다운로드하는 방법 (0) | 2023.08.26 |
| jQuery.ajax가 400개의 잘못된 요청을 반환합니다. (0) | 2023.08.21 |
| 크롬/j쿼리 탐지되지 않은 범위 오류: 최대 호출 스택 크기를 초과했습니다. (0) | 2023.08.21 |
