누를 수 있는 UI 요소

  • 최소 44px의 너비와 높이를 가져야 한다

Types

UIButton(type: UIButtonType)

UIButtonType

  • custom
    • 사이즈가 0인 버튼이 생성됨, 버튼을 추가하기 전에 사이즈를 정하고, 여타 다른 속성을 설정해야 함.
  • system
    • 내비게이션바나 툴바에서 볼 수 있는 일반적인 버튼 System Button
  • detailDeisclosure Detail Disclosure Buttons

  • infoLight
  • infoDark Info Button

  • contactAdd Add Contact Button

  • 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 조정 가능함
    • 크기도 변경 가능

image button

참조