๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐ŸŽ iOS/UIKit

[iOS/Swift] TableView ์˜ ๊ธฐ์ดˆ :: UITableView, UITableViewCell

by Danna 2021. 3. 1.
728x90
728x90

UITableView

class UITableView : UIScrollView
๐Ÿ’กA view that presents data using rows arranged in a single column.

UITableView ๋Š” ํ•˜๋‚˜์˜ ์—ด์„ ๊ฐ–๋Š” ์—ฌ๋Ÿฌ๊ฐœ์˜ ํ–‰์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œํ˜„ํ•˜๋Š” View ์ด๋‹ค. UIScrollView ๋ฅผ ์ƒ์†๋ฐ›์€ ํด๋ž˜์Šค์ด๋ฏ€๋กœ, ์ˆ˜์ง์œผ๋กœ ์Šคํฌ๋กค์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

 

ํ•˜๋‚˜์˜ ๊ธด ๋ฆฌ์ŠคํŠธ๋ฅผ ๋ณด์—ฌ์ค„ ์ˆ˜๋„ ์žˆ๊ณ , ๊ด€๋ จ๋œ rows ๋ฅผ ๊ทธ๋ฃน์ง€์–ด ๋ณด์—ฌ์ค„ ์ˆ˜๋„ ์žˆ๋‹ค. ์‚ฌ์ง„์˜ Contacts app ์„ ๋ณด๋ฉด, ์•ŒํŒŒ๋ฒณ ์ˆœ์œผ๋กœ ๊ทธ๋ฃน์ง€์–ด์ ธ ์žˆ๊ณ  Settings app ๋„ title ์€ ์—†์ง€๋งŒ ๊ทธ๋ฃน์ง€์–ด์ ธ ์žˆ๋‹ค. 

UITableView ์˜ˆ์‹œ

Table view ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๊ณ„์ธต์ ์ธ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์•ฑ์—์„œ ์ด์šฉ๋˜๋ฉฐ, navigation view controller ์™€ ํ•จ๊ป˜ ์ด์šฉํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ํ…Œ์ด๋ธ”์˜ row ๋ฅผ ์„ ํƒํ•ด ์ด๋™ํ•˜๋ฉด, Navigation controller ๊ฐ€ main ์œผ๋กœ์˜ ์ด๋™์„ ๋•๋Š”๋‹ค.

 

์ƒ๋‹จ์˜ ๋’ค๋กœ๊ฐ€๊ธฐ ๋ฒ„ํŠผ๊ณผ ํƒ€์ดํ‹€์ด ๋‚˜ํƒ€๋‚˜๋Š” ๊ฒƒ์„ Navigation bar ๋ผ๊ณ  ํ•œ๋‹ค. Navigation view controller ์— ๋Œ€ํ•ด์„œ๋„ ๋‹ค์Œ์— ํฌ์ŠคํŒ… ํ•  ์˜ˆ์ •์ด๋‹ค! ๐Ÿ™‚

Table view + Navigation view controller

 

UITableViewCell

class UITableViewCell : UIView
๐Ÿ’ก The visual representation of a single row in a table view.

UITableView ๋Š” table ์˜ ๊ธฐ๋ณธ์ ์ธ ์™ธํ˜•์„ ๊ด€๋ฆฌํ•˜์ง€๋งŒ, ๊ฐ์ž์˜ ์•ฑ์—์„œ ์‹ค์ œ content ๋ฅผ ๋ณด์—ฌ์ค„ cell ์„ ์ œ๊ณตํ•ด์•ผ ํ•œ๋‹ค. ์ด cell ์€ UITableViewCell object ์ด๋‹ค. 

 

  • standard cell ์€ text, image ์˜ ๊ธฐ๋ณธ์ ์ธ ๊ตฌ์„ฑ์ด๋‹ค.
  • custom cell ์„ ์ •์˜ํ•˜๋ฉด ์›ํ•˜๋Š” ๊ตฌ์„ฑ์œผ๋กœ content ๋ฅผ ๋ณด์—ฌ์ค„ ์ˆ˜ ์žˆ๋‹ค.
  • table ์˜ content ๊ฐ€ ์ ˆ๋Œ€ ๋ณ€ํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด, table view ์˜ content ๋ฅผ static cells ๋กœ ์ง€์ •ํ•ด์ฃผ์ž.

 

์•„๋ž˜ ์‚ฌ์ง„ ์ค‘ ์™ผ์ชฝ์€ custom cell ์„ ์ด์šฉํ•œ table view ์ด๊ณ , ์˜ค๋ฅธ์ชฝ ์‚ฌ์ง„์€ static cells ์„ ์ด์šฉํ•œ table view ์ด๋‹ค.

Custom Cell, Static Content

 

custom cell ์„ ์ด์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ์Šคํ† ๋ฆฌ๋ณด๋“œ ์˜ˆ์ œ์™€ ํ•จ๊ป˜ ์ •๋ฆฌํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค! ๐Ÿ˜„

 

  1. UITableViewCell ์„ ์ƒ์†๋ฐ›๋Š” ํด๋ž˜์Šค๋ฅผ ์ •์˜ํ•œ๋‹ค. 
  2. Storyboard ์—์„œ ๋งŒ๋“  Table view cell ์˜ inspector ์—์„œ Custom class ๋ฅผ ์œ„์˜ ํด๋ž˜์Šค๋ฅผ ์ง€์ •ํ•œ๋‹ค.
  3. Table view cell ์˜ objects ๋ฅผ Custom class ์— ์—ฐ๊ฒฐํ•ด์ค€๋‹ค. (IBOutlet, IBAction)
  4. Table view datasource ํ”„๋กœํ† ์ฝœ method ์ค‘, tableView(_:cellForRowAt:) ์—์„œ custom cell ๋ฅผ ๊ฐ€์ ธ์™€ ๋ฐ์ดํ„ฐ๋ฅผ ํ†ตํ•ด cell ์˜ ์†์„ฑ๋“ค์„ ์—…๋ฐ์ดํŠธํ•œ๋‹ค. 

ํ˜น์€, ์—ฌ๊ธฐ ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ์ฝ์–ด๋ณด๋Š” ๊ฒƒ๋„ ๋„์›€์ด ๋  ๊ฒƒ ๊ฐ™๋‹ค.


๊ณต์‹ ๋ฌธ์„œ

์ฐธ๊ณ  ๋ฌธ์„œ ๋ฐ ๊ฐ•์˜

728x90
728x90