TIL49 ✨

YaR LabΒ·2023λ…„ 6μ›” 28일
0

TIL✨

λͺ©λ‘ 보기
37/135
post-thumbnail

πŸ—“οΈ23.06.29

μ˜€ν† λ ˆμ΄μ•„μ›ƒ μ •λ³΅ν•˜κΈ° Working with Self-Sizing Table View Cells The basis

뷰의 μž¬μ‚¬μš©

iOS κΈ°κΈ°λŠ” ν•œμ •λœ λ©”λͺ¨λ¦¬λ₯Ό 효율적으둜 μ‚¬μš©ν•˜κΈ° μœ„ν•œ '뷰의 μž¬μ‚¬μš©'을 함

iOS κΈ°κΈ°λŠ” ν•œμ •λœ λ©”λͺ¨λ¦¬λ₯Ό 가지고 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ κ΅¬λ™ν•©λ‹ˆλ‹€.

λ§Œμ•½ μ‚¬μš©μžμ—κ²Œ 보여주고 싢은 데이터가 맀우 많고, λ°μ΄ν„°μ˜ μ–‘λ§ŒνΌ λ§Žμ€ λ·°κ°€ ν•„μš”ν•˜λ‹€λ©΄ μ–΄λ–»κ²Œ λ κΉŒμš”?

화면에 ν‘œμ‹œν•  수 μžˆλŠ” 뷰의 κ°œμˆ˜λŠ” ν•œμ •λ˜μ–΄ μžˆμ§€λ§Œ, ν‘œν˜„ν•΄μ•Ό ν•˜λŠ” 데이터가 λ§Žμ€ 경우 반볡된 λ·°λ₯Ό μƒμ„±ν•˜κΈ°λ³΄λ‹€λŠ” λ·°λ₯Ό μž¬μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μ‚¬μš©ν•  수 μžˆλŠ” λ©”λͺ¨λ¦¬κ°€ μž‘μ•„μ„œ λ°μ΄ν„°μ˜ μ–‘λ§ŒνΌ λ§Žμ€ λ·°λ₯Ό μƒμ„±ν•˜λŠ” 것은 λ©”λͺ¨λ¦¬λ₯Ό 많이 λ‚­λΉ„ν•  μˆ˜λ°–μ— μ—†κΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€.

λ·°λ₯Ό μž¬μ‚¬μš©ν•¨μœΌλ‘œμ¨ λ©”λͺ¨λ¦¬λ₯Ό μ ˆμ•½ν•˜κ³  μ„±λŠ₯ λ˜ν•œ ν–₯상할 수 μžˆμŠ΅λ‹ˆλ‹€.

UITableViewCell : UITableView의 μ…€μž…λ‹ˆλ‹€.

UICollectionViewCell : UICollectionView의 μ…€μž…λ‹ˆλ‹€.

데이터 μ†ŒμŠ€λŠ” μš”μ²­λ§ˆλ‹€ μƒˆλ‘œμš΄ 셀을 λ§Œλ“œλŠ” λŒ€μ‹  μž¬μ‚¬μš© 큐 (Reuse Queue)에 μž¬μ‚¬μš©μ„ μœ„ν•΄ λŒ€κΈ°ν•˜κ³ μžˆλŠ” 셀이 μžˆλŠ”μ§€ 확인 ν›„ 있으면 κ·Έ 셀에 μƒˆλ‘œμš΄ 데이터λ₯Ό μ„€μ •ν•˜κ³ , μ—†μœΌλ©΄ μƒˆλ‘œμš΄ 셀을 μƒμ„±ν•©λ‹ˆλ‹€.

view vs safe area

View와 Safe AreaλŠ” iOS μ•±μ—μ„œ λ ˆμ΄μ•„μ›ƒμ„ κ΅¬μ„±ν•˜λŠ” 데 μ‚¬μš©λ˜λŠ” 두 가지 λ‹€λ₯Έ κ°œλ…μž…λ‹ˆλ‹€.

  • View: ViewλŠ” ν™”λ©΄μ˜ μ‚¬μš©μž μΈν„°νŽ˜μ΄μŠ€ μš”μ†Œλ₯Ό λ‚˜νƒ€λ‚΄λŠ” κ°μ²΄μž…λ‹ˆλ‹€. ViewλŠ” 화면에 ν‘œμ‹œλ˜λŠ” 컨텐츠λ₯Ό ν¬ν•¨ν•˜κ³ , μ‚¬μš©μžμ˜ μž…λ ₯을 λ°›μ•„ μ²˜λ¦¬ν•˜λ©°, μ•±μ˜ μ‹œκ°μ μΈ ν‘œν˜„μ„ λ‹΄λ‹Ήν•©λ‹ˆλ‹€. ViewλŠ” UIWindow에 μΆ”κ°€λ˜μ–΄ 화면에 λ‚˜νƒ€λ‚©λ‹ˆλ‹€.

  • Safe Area: Safe AreaλŠ” View의 μΌλΆ€λ‘œμ„œ, μ•ˆμ „ν•œ μ½˜ν…μΈ  ν‘œμ‹œ μ˜μ—­μ„ μ •μ˜ν•˜λŠ” 역할을 ν•©λ‹ˆλ‹€. Safe AreaλŠ” μ‚¬μš©μž μΈν„°νŽ˜μ΄μŠ€ μš”μ†Œκ°€ ν‘œμ‹œλ˜λŠ” μ˜μ—­μœΌλ‘œ, 일반적으둜 μƒνƒœ ν‘œμ‹œμ€„, ν™ˆ λ²„νŠΌ 및 기타 μ‹œμŠ€ν…œ μΈν„°νŽ˜μ΄μŠ€ μš”μ†Œμ™€ κ²ΉμΉ˜μ§€ μ•ŠλŠ” μ˜μ—­μ„ μ˜λ―Έν•©λ‹ˆλ‹€. Safe AreaλŠ” λ‹€μ–‘ν•œ λ””λ°”μ΄μŠ€ 크기와 λ°©ν–₯에 λŒ€μ‘ν•˜μ—¬ μ½˜ν…μΈ κ°€ μ œλŒ€λ‘œ ν‘œμ‹œλ˜λ„λ‘ λ„μ™€μ€λ‹ˆλ‹€.

Safe Areaλ₯Ό μ‚¬μš©ν•˜λ©΄ ν™”λ©΄μ˜ κ°€μž₯μžλ¦¬μ— μœ„μΉ˜ν•˜λŠ” UI μš”μ†Œκ°€ Safe Area μ•ˆμ— 놓일 수 μžˆμŠ΅λ‹ˆλ‹€. μ΄λŠ” μ‚¬μš©μž μΈν„°νŽ˜μ΄μŠ€ μš”μ†Œκ°€ ν™”λ©΄ κ°€μž₯μžλ¦¬μ— 뢙지 μ•Šκ³ , μž₯치의 λ…ΈμΉ˜, μƒνƒœ ν‘œμ‹œμ€„, νƒ­ λ°” λ“±κ³Ό κ²ΉμΉ˜μ§€ μ•Šλ„λ‘ ν•˜λŠ” 역할을 ν•©λ‹ˆλ‹€. μ΄λ ‡κ²Œ ν•¨μœΌλ‘œμ¨ λ‹€μ–‘ν•œ μž₯치 크기와 λ°©ν–₯μ—μ„œλ„ μΌκ΄€λœ λ ˆμ΄μ•„μ›ƒμ„ μœ μ§€ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

앱을 κ°œλ°œν•  λ•Œ, View의 μ˜μ—­μ„ μ •μ˜ν•˜κ³  λ°°μΉ˜ν•  λ•ŒλŠ” Safe Areaλ₯Ό κ³ λ €ν•˜μ—¬μ•Ό ν•©λ‹ˆλ‹€. Safe Areaλ₯Ό μ‚¬μš©ν•˜λ©΄ μΈν„°νŽ˜μ΄μŠ€ μš”μ†Œκ°€ ν™”λ©΄ κ°€μž₯μžλ¦¬μ—μ„œ μ•ˆμ „ν•˜κ²Œ ν‘œμ‹œλ˜κ³ , λ‹€μ–‘ν•œ λ””λ°”μ΄μŠ€μ—μ„œ μΌκ΄€λœ λ ˆμ΄μ•„μ›ƒμ„ μ œκ³΅ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

Contents View Layout Guide

Frame Layout Guide

0개의 λŒ“κΈ€