[iOS] UIView 클래스의 속성들

황석범·2024년 11월 29일
1

내일배움캠프_iOS_5기

목록 보기
38/76

UIView 클래스의 속성들

  • UIView는 UIKit의 기본적인 뷰 클래스로, iOS 애플리케이션에서 화면에 표시되는 모든 UI 요소의 기본이 됩니다. UIView는 다양한 속성을 제공하여 개발자가 뷰의 위치, 크기, 모양 및 동작을 쉽게 정의하고 조정할 수 있도록 합니다.

1. 기본 속성

속성 이름설명
frame뷰의 외부 경계 상자의 위치와 크기 (CGRect), 부모 뷰의 좌표계에서 표현.
bounds뷰의 내부 좌표계에 대한 경계 상자 (CGRect). 크기는 같지만 좌표 원점은 다를 수 있음.
center뷰의 중심점 좌표 (CGPoint), 부모 뷰의 좌표계를 기준으로 정의.
backgroundColor뷰의 배경색 (UIColor).
alpha뷰의 투명도 (0.0 ~ 1.0). 0.0은 완전히 투명, 1.0은 불투명.
isHidden뷰가 화면에 표시되는지 여부를 결정 (true로 설정 시 숨겨짐).
clipsToBounds자식 뷰가 부모 뷰의 경계를 넘어갈 경우, 이를 잘라낼지 여부를 결정.
tag뷰를 식별하기 위한 정수값. 주로 뷰를 검색하거나 특정 작업을 처리할 때 사용.

2. 모양 관련 속성

속성 이름설명
layerCALayer 객체로, 뷰의 외곽선, 그림자, 코너 반경 등 고급 시각 효과를 제공.
cornerRadius뷰의 모서리를 둥글게 만들기 위한 반경 (layer 속성을 통해 설정).
borderWidth뷰의 테두리 두께 (layer 속성을 통해 설정).
borderColor뷰의 테두리 색상 (layer 속성을 통해 설정).
shadowColor뷰 그림자의 색상 (layer 속성을 통해 설정).
shadowOpacity뷰 그림자의 투명도 (0.0 ~ 1.0, layer 속성을 통해 설정).
shadowOffset그림자의 위치 오프셋 (CGSize, layer 속성을 통해 설정).
shadowRadius그림자의 퍼짐 정도를 나타내는 반경 (layer 속성을 통해 설정).

3. 동작 관련 속성

속성 이름설명
isUserInteractionEnabled뷰가 사용자 상호작용을 받을 수 있는지 여부를 결정 (true면 터치 이벤트를 처리 가능).
gestureRecognizers뷰와 연결된 제스처 인식기 (UIGestureRecognizer 객체 배열).
transform뷰의 변환(스케일, 회전, 이동 등)을 지정하는 CGAffineTransform 또는 CATransform3D.

4. 레이아웃 관련 속성

속성 이름설명
autoresizingMask부모 뷰의 크기가 변경될 때, 뷰의 크기와 위치를 자동으로 조정하기 위한 마스크.
translatesAutoresizingMaskIntoConstraints뷰가 오토 리사이징 마스크를 Auto Layout 제약 조건으로 변환할지 여부.
layoutMargins뷰의 내부 여백 (UIEdgeInsets), 레이아웃에서 자식 뷰를 배치할 때 사용.
safeAreaInsets뷰의 안전 영역(UIEdgeInsets)에 해당하는 여백 크기.

5. 애니메이션 관련 속성

속성 이름설명
contentMode뷰의 콘텐츠가 변경될 때 콘텐츠를 어떻게 배치하거나 크기 조정할지 결정 (UIView.ContentMode).
animationDuration애니메이션 실행 시간을 설정.

6. 하위 뷰 관리

속성/메서드 이름설명
subviews뷰의 모든 자식 뷰 배열.
superview뷰의 부모 뷰.
addSubview(_:)현재 뷰에 자식 뷰를 추가.
removeFromSuperview()부모 뷰에서 현재 뷰를 제거.
insertSubview(_:at:)특정 인덱스에 자식 뷰를 삽입.

7. 드로잉 관련 속성

속성 이름설명
opaque뷰가 불투명한지 여부 (true는 불투명, false는 투명).
contentScaleFactor콘텐츠의 스케일링 비율 (기본적으로 디바이스의 화면 배율에 따라 설정).
draw(_:)뷰의 콘텐츠를 커스터마이징할 때 오버라이드하여 사용.
removeFromSuperview()부모 뷰에서 현재 뷰를 제거.
insertSubview(_:at:)특정 인덱스에 자식 뷰를 삽입.

profile
iOS 공부중...

0개의 댓글

관련 채용 정보