UIButton
누를 수 있는 UI 요소
- 최소 44px의 너비와 높이를 가져야 한다
Types
UIButton(type: UIButtonType)UIButtonType
- custom
- 사이즈가 0인 버튼이 생성됨, 버튼을 추가하기 전에 사이즈를 정하고, 여타 다른 속성을 설정해야 함.
- system
- 내비게이션바나 툴바에서 볼 수 있는 일반적인 버튼

- 내비게이션바나 툴바에서 볼 수 있는 일반적인 버튼
-
detailDeisclosure

- infoLight
-
infoDark

-
contactAdd

- plain
- system 버튼과 같지만 블러된 백그라운드 뷰가 없음
- 보강이 필요함
States
- default
- 평소 모습
- highlighted
- 누르고 손을 떼지 않은 상태
- default + highlight 와 selected + highlight 의 상태를 구분할 수 있음
- adjustsImageWhenHighlighted 를 on 하면 눌릴 때 배경 이미지를 조금 더 밝게 표시함
- 애플 문서에도 얼만큼 밝은지는 나오지 않음
- focused
- 포커스 기반 내비게이션 시스템에서 이 버튼이 focused 되었을 때의 상태
- 시각 장애인을 위한 Voice Over로 포커스를 이동 시키거나, 블루투스 키보드를 이용해 포커스를 이동할 때 작동함.
- highlighed 나 selected 때의 모양과는 다르게 표시됨 (안 예쁜 두꺼운 테두리가 씌워짐)
- selected
- 토글 버튼 등에서 선택된 상태
- highlighted와 조합 가능함
- disabled
- 버튼이 비활성화 되어서 사용할 수 없는 상태
- adjustsImageWhenDisabled 를 on 하면 비활성 되었을 때 배경 이미지를 조금 더 어둡게 표시함
- 애플 문서에도 얼만큼 어두운지는 나오지 않음
Content
- Title + Image + BackgroundImage로 이루어져 있음
- Title
- Font, 색상 등 자유롭게 조정가능, AttributedString을 먹일 수 있음
- reversesTitleShadowWhenHighlighted
- on 하면 버튼이 highlighted 되었을 때, 글자에 깊이감을 주는 그림자가 생김
- shadow Offset
- 깊이감을 주는 그림자의 위치를 옮길 수 있음
- Image
- 기본적으로 Title 왼쪽에 위치함
- 상하 좌우 inset 조정 가능함
- 크기도 변경 가능
