κ°œλ°œν•˜λŠ” ν›ˆμ΄ 2021. 8. 21. 15:47
πŸ’‘ 개인적인 곡뢀λ₯Ό λͺ©μ μœΌλ‘œ λ²ˆμ—­ν•˜μ—¬ κ°„λž΅ν•˜κ²Œ μ •λ¦¬λ§Œ ν•œ κΈ€μž…λ‹ˆλ‹€. 전문을 ν¬ν•¨ν•˜κ³  μžˆμ§€ μ•ŠμœΌλ‹ˆ μžμ„Έν•œ λ‚΄μš©μ€ κ³΅μ‹λ¬Έμ„œλ₯Ό μ½μ–΄λ³΄μ‹œκΈΈ κΆŒν•΄λ“œλ¦½λ‹ˆλ‹€!

https://developer.apple.com/design/human-interface-guidelines/ios/bars/navigation-bars/

 

Navigation Bars - Bars - iOS - Human Interface Guidelines - Apple Developer

Navigation Bars A navigation bar appears at the top of an app screen, below the status bar, and enables navigation through a series of hierarchical screens. When a new screen is displayed, a back button, often labeled with the title of the previous screen,

developer.apple.com

Navigation Bars

λ‚΄λΉ„κ²Œμ΄μ…˜ λ°”λŠ” μ•± 슀크린의 상단에 ν‘œμ‹œλ˜λ©°, μƒνƒœ ν‘œμ‹œ λ°”(status bar)에 μ•„λž˜μ— μœ„μΉ˜ν•˜μ—¬ ν™”λ©΄ 계측 κ°„μ˜ 이동을 λ•μŠ΅λ‹ˆλ‹€. μƒˆλ‘œμš΄ 슀크린이 ν‘œμ‹œλ˜λ©΄, 주둜 이전 ν™”λ©΄μ˜ 이름을 라벨둜 κ°€μ§€λŠ” λ’€λ‘œ κ°€κΈ° λ²„νŠΌμ΄ κ°€μž₯ μ™Όμͺ½μ— ν‘œμ‹œλ©λ‹ˆλ‹€. μ–΄λ–€ κ²½μš°μ—λŠ” λ‚΄λΉ„κ²Œμ΄μ…˜ λ°”μ˜ 였λ₯Έμͺ½ μ˜μ—­μ΄ Editμ΄λ‚˜ Doneκ³Ό 같은 Control을 ν¬ν•¨ν•˜μ—¬ ν˜„μž¬ 뷰의 컨텐츠듀을 μ‘°μž‘ν•˜λ„λ‘ ν•˜κΈ°λ„ ν•©λ‹ˆλ‹€. Split View λ‚΄μ—μ„œλŠ” λ‚΄λΉ„κ²Œμ΄μ…˜ λ°”κ°€ ν•˜λ‚˜μ˜ λΆ„λ¦¬λœ ν™”λ©΄(Pane)μ—λ§Œ λ‚˜νƒ€λ‚  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€. λ‚΄λΉ„κ²Œμ΄μ…˜ λ°”λŠ” 투λͺ…ν•˜κ²Œ λ§Œλ“€κ±°λ‚˜ λ°°κ²½ 색상을 지정할 수 있고, ν‚€λ³΄λ“œκ°€ 화면에 λ‚˜νƒ€λ‚˜κ±°λ‚˜, μ œμŠ€μ²˜κ°€ λ°œμƒν–ˆμ„ λ•Œ, λ˜λŠ” 뷰의 크기가 λ³€ν™”ν•  λ•Œ μˆ¨κΈ°λ„λ‘ μ„€μ •ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

 

더 λͺ°μž…감 μžˆλŠ” κ²½ν—˜μ„ μœ„ν•΄ μž„μ‹œμ μœΌλ‘œ λ„€λΉ„κ²Œμ΄μ…˜ λ°”λ₯Ό μˆ¨κΈ°λŠ” 것을 고렀해보아야 ν•©λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, Photos 앱은 μ‚¬μš©μžκ°€ ν’€ 슀크린으둜 사진을 λ³Ό λ•Œ λ‚΄λΉ„κ²Œμ΄μ…˜ 바와 λ‹€λ₯Έ μΈν„°νŽ˜μ΄μŠ€ μš”μ†Œλ“€μ„ μˆ¨κΉλ‹ˆλ‹€. λ§Œμ•½ 이런 행동을 κ΅¬ν˜„ν–ˆλ‹€λ©΄, λ‚΄λΉ„κ²Œμ΄μ…˜ λ°”κ°€ νƒ­κ³Ό 같은 κ°„λ‹¨ν•œ 제슀처λ₯Ό 톡해 볡ꡬ될 수 μžˆλ„λ‘ ν•΄μ•Ό ν•©λ‹ˆλ‹€.

 

개발자 κ°€μ΄λ“œ: UINavigationBar

Navigation Bar Titles

  • λ‚΄λΉ„κ²Œμ΄μ…˜ 바에 ν˜„μž¬ 뷰의 제λͺ©μ„ λ³΄μ—¬μ£Όμ„Έμš”.
    • ν•˜μ§€λ§Œ λ§Œμ•½ λ‚΄λΉ„κ²Œμ΄μ…˜ 바에 제λͺ©μ„ μΆ”κ°€ν•˜λŠ” 것이 μ€‘λ³΅λ˜λŠ” 행동이라면 제λͺ©μ€ λΉ„μ›Œλ‘μ–΄λ„ μ’‹μŠ΅λ‹ˆλ‹€.
    • 예λ₯Ό λ“€μ–΄, Notes 앱은 컨텐츠에 첫 라인에 ν˜„μž¬ 뷰에 λŒ€ν•œ 정보λ₯Ό μ œκ³΅ν•˜λ―€λ‘œ λ‚΄λΉ„κ²Œμ΄μ…˜ 바에 제λͺ©μ„ λΉ„μ›Œλ‘‘λ‹ˆλ‹€.
  • ν˜„μž¬ 뷰의 정보λ₯Ό 더 κ°•μ‘°ν•˜κ³  μ‹Άλ‹€λ©΄ 큰 크기의 제λͺ©μ„ μ‚¬μš©ν•˜μ„Έμš”.
    • μ–΄λ–€ μ•±μ—μ„œλŠ” 큰 λ³Όλ“œμ²΄μ˜ ν…μŠ€νŠΈλ‘œ μž‘μ„±λœ 제λͺ©μ΄ μ‚¬λžŒλ“€μ΄ 탐색을 ν•˜κ±°λ‚˜ 검색을 ν•  λ•Œλ₯Ό λ•μŠ΅λ‹ˆλ‹€.
    • 예λ₯Ό λ“€μ–΄, tabbed layout μ—μ„œλŠ” 큰 제λͺ©μ΄ λͺ…λ£Œν•˜κ²Œ 탭이 ν™œμ„±ν™” λ˜μ–΄μžˆμŒμ„ μ•Œλ¦¬κ³  μ‚¬λžŒλ“€μ—κ²Œ κ°€μž₯ μœ„λ‘œ 슀크둀 ν•΄μ•Όλœλ‹€λŠ” 것을 μ•Œλ¦½λ‹ˆλ‹€. Phone 앱이 이런 접근을 μ‚¬μš©ν•©λ‹ˆλ‹€. Music 앱은 앨범, μ•„ν‹°μŠ€νŠΈ, ν”Œλ ˆμ΄λ¦¬μŠ€νŠΈ, λΌλ””μ˜€μ™€ 같은 컨텐츠 μ˜μ—­κ³Ό ꡬ뢄 μ§“λŠ” μš©λ„λ‘œ 큰 제λͺ©μ„ μ‚¬μš©ν•©λ‹ˆλ‹€.
    • iOS 13 μ΄μƒμ—μ„œλŠ” 큰 제λͺ©μ˜ λ‚΄λΉ„κ²Œμ΄μ…˜ λ°”λŠ” λ°°κ²½ μš”μ†Œλ‚˜ 그림자효과λ₯Ό κΈ°λ³Έκ°’μœΌλ‘œ 가지지 μ•ŠμŠ΅λ‹ˆλ‹€. λ˜ν•œ, μ‚¬μš©μžκ°€ 컨텐츠λ₯Ό μŠ€ν¬λ‘€ν•˜κΈ° μ‹œμž‘ν•˜λ©΄ 큰 제λͺ©μ—μ„œμ˜ 일반 제λͺ©μœΌλ‘œμ˜ μ „ν™˜νš¨κ³Όκ°€ μΌμ–΄λ‚©λ‹ˆλ‹€.
    • 개발자 κ°€μ΄λ“œ: prefersLargeTitles
  • 큰 제λͺ©μ˜ λ„€λΉ„κ²Œμ΄μ…˜ λ°”λ₯Ό μ‚¬μš©ν•  λ•ŒλŠ” ν…Œλ‘λ¦¬λ₯Ό μˆ¨κΈ°μ„Έμš”.
    • iOS 13 μ΄μƒμ—μ„œλŠ” λ‚΄λΉ„κ²Œμ΄μ…˜ λ°”μ˜ ν•˜λ‹¨ ν…Œλ‘λ¦¬μ˜ 그림자효과λ₯Ό μ—†μ• λŠ” κ²ƒμœΌλ‘œ 숨길 수 μžˆμŠ΅λ‹ˆλ‹€(ν…Œλ‘λ¦¬λŠ” μ‚¬μš©μžκ°€ 컨텐츠 μ˜μ—­μ„ 슀크둀 ν•˜λ©΄ μžλ™μœΌλ‘œ λ‹€μ‹œ λ‚˜νƒ€λ‚©λ‹ˆλ‹€).
    • ν…Œλ‘λ¦¬κ°€ μ—†λŠ” μŠ€νƒ€μΌμ€ 기쑴의 ν‘œμ€€ λ„€λΉ„κ²Œμ΄μ…˜ λ°”μ™€λŠ” 잘 μ–΄μšΈλ¦¬μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. λ„€λΉ„κ²Œμ΄μ…˜λ°”μ˜ 제λͺ©κ³Ό λ²„νŠΌμ΄ λͺ…ν™•ν•˜κ²Œ 보이지 μ•Šμ„ 수 μžˆμŠ΅λ‹ˆλ‹€.
    • iPadμ—μ„œμ˜ Split ViewλŠ” μ˜ˆμ™Έμ μΈ μƒν™©μœΌλ‘œ λ‚˜λˆ„μ–΄μ§„ 두 뷰의 일관성을 μœ μ§€ν•˜κΈ° μœ„ν•΄ 두 뷰에 λͺ¨λ‘ ν…Œλ‘λ¦¬κ°€ μ—†λŠ” μŠ€νƒ€μΌμ„ μ μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

Navigation Bar Controls

  • λ„€λΉ„κ²Œμ΄μ…˜ λ°”κ°€ μ§€λ‚˜μΉ˜κ²Œ λ§Žμ€ control둜 λ³΅μž‘ν•΄μ§€μ§€ μ•Šλ„λ‘ ν•΄μ•Ό ν•©λ‹ˆλ‹€.
    • 일반적으둜 λ‚΄λΉ„κ²Œμ΄μ…˜ λ°”λŠ” ν˜„μž¬ 뷰의 제λͺ©, λ’€λ‘œκ°€κΈ° λ²„νŠΌκ³Ό ν•˜λ‚˜μ˜ control μ™Έμ˜ μš”μ†Œλ“€μ„ ν¬ν•¨ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
    • λ‚΄λΉ„κ²Œμ΄μ…˜ 바에 segmented control을 μ‚¬μš©ν•˜κ³ μž ν•œλ‹€λ©΄, κ·Έ λ‚΄λΉ„κ²Œμ΄μ…˜ λ°”λŠ” segmented control μ™Έμ˜ 제λͺ©μ΄λ‚˜ λ‹€λ₯Έ controlλ“±μ˜ μš”μ†Œλ“€μ„ ν¬ν•¨ν•΄μ„œλŠ” μ•ˆλ©λ‹ˆλ‹€.
  • ν‘œμ€€ λ’€λ‘œ κ°€κΈ° λ²„νŠΌμ„ μ‚¬μš©ν•˜μ„Έμš”.
    • λ§Œμ•½ μ»€μŠ€ν…€ λ²„νŠΌμ„ λ§Œλ“ λ‹€κ³  ν•˜λ”λΌλ„ λ‹€λ₯Έ μΈν„°νŽ˜μ΄μŠ€λ“€κ³Ό 일관성이 μžˆλ„λ‘ μ—¬μ „νžˆ ν‘œμ€€κ³Ό λΉ„μŠ·ν•œ λͺ¨μ–‘을 μœ μ§€ν•΄μ•Ό ν•©λ‹ˆλ‹€.
  • μ—¬λŸ¬ 개의 Breadcrumb Pathλ₯Ό μ‚¬μš©ν•˜λ©΄ μ•ˆ λ©λ‹ˆλ‹€.
    • λ’€λ‘œ κ°€κΈ° λ²„νŠΌμ€ 항상 이전 ν™”λ©΄μœΌλ‘œ λŒμ•„κ°€λŠ” ν•˜λ‚˜μ˜ λ™μž‘λ§Œμ„ μˆ˜ν–‰ν•΄μ•Ό ν•©λ‹ˆλ‹€. λ§Œμ•½ 당신이 μ‚¬μš©μžλ“€μ΄ νŽ˜μ΄μ§€μ˜ λͺ¨λ“  경둜λ₯Ό μ•Œμ•„μ•Ό ν•œλ‹€κ³  μƒκ°ν•œλ‹€λ©΄, μ•±μ˜ 계측ꡬ쑰λ₯Ό λ‹¨μˆœν•˜κ²Œ ν•˜λŠ” 것을 κ³ λ €ν•΄μ•Ό ν•©λ‹ˆλ‹€.
  • ν…μŠ€νŠΈ λ²„νŠΌμ—κ²ŒλŠ” μΆ©λΆ„ν•œ 곡간을 ν™•λ³΄ν•΄μ£Όμ„Έμš”.
    • λ§Œμ•½ λ‚΄λΉ„κ²Œμ΄μ…˜ 바에 μ—¬λŸ¬ 개의 ν…μŠ€νŠΈ λ²„νŠΌμ„ μΆ”κ°€ν•œλ‹€λ©΄, ν…μŠ€νŠΈ λ²„νŠΌμ΄ μ•Œμ•„λ³΄κΈ° νž˜λ“€ μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.
    • λ²„νŠΌ 사이에 κ³ μ •λœ 곡간을 λΆ€μ—¬ν•΄μ„œ κ΅¬λΆ„λ˜λ„λ‘ λ§Œλ“€μ–΄μ£Όμ–΄μ•Ό ν•©λ‹ˆλ‹€.
    • 개발자 κ°€μ΄λ“œ: UIBarButtonSystemItemFixedSpace / UIBarButtonItem
  • μ•±μ˜ 정보 계측을 λ‹¨μˆœν™”ν•˜κΈ° μœ„ν•΄ Segmented Control의 μ‚¬μš©μ„ κ³ λ €ν•΄μ•Ό ν•©λ‹ˆλ‹€.
    • λ§Œμ•½ λ‚΄λΉ„κ²Œμ΄μ…˜ 바에 Segmented Control을 μ‚¬μš©ν•œλ‹€λ©΄, μ΅œμƒμœ„ κ³„μΈ΅μ—μ„œλ§Œ μ‚¬μš©ν•˜μ„Έμš”.
    • 그리고 ν•˜μœ„ κ³„μΈ΅μ—μ„œλŠ” μ μ ˆν•œ λ’€λ‘œ κ°€κΈ° λ²„νŠΌ 제λͺ©μ„ μ„ μ •ν•΄μ•Ό ν•©λ‹ˆλ‹€.