๋ถํธ์บ ํ๊ฐ ์์๋๊ณ , ์ฒ์์ผ๋ก ๊ฐ์ธ๊ณผ์ ๊ฐ ์๋ ํ ํ๋ก์ ํธ๋ฅผ ์ ํ๊ฒ ๋์๋ค!
์ฃผ์ ๋ "์ปคํผ ์ฃผ๋ฌธ ํค์ค์คํฌ"๋ฅผ ๋ง๋๋ ๊ฒ์ด๋ค!!!
ํด๋น ํ๋ก์ ํธ๋ ํ์ ๊ตฌํ ๊ธฐ๋ฅ
๊ณผ ์ ํ ๊ตฌํ ๊ธฐ๋ฅ
์ผ๋ก ๊ตฌ๋ถ๋์ด ์์ผ๋ฉฐ, ํผ์์ ํ๋ก์ ํธ๋ฅผ ๋น๋ํ๋ ๊ฒ์ด ์๋ ํํธ๋ฅผ ๋๋์ด ํ์๊ณผ ํจ๊ป ์ค๊ณํ๋ ํ๋ก์ ํธ์ด๊ธฐ์ ๋งค์ฐ ๊ธฐ๋๋๋ค! ๐
ํ์ ๊ตฌํ ๊ธฐ๋ฅ
์ ํ ๊ตฌํ ๊ธฐ๋ฅ
๋๋ณด๊ธฐ
์ ๊ฐ์ ๋ถ๊ฐ์ ์ธ ๊ธฐ๋ฅ ๊ตฌํ์์ง ์์๋ ์ํ๋๋ฐ... ๋จธ๋ฆฌ๊ฐ ์ํ์จ๋ค...... ๐
์ฐ์ ํ์ ๊ตฌํ ๊ธฐ๋ฅ๋ถํฐ ์ค๊ณ๋ฅผ ํ๊ธฐ ์ํด, App์ UI๋ฅผ ๊ทธ๋ ค์ผ ํ๋ค.
์ด์ ์ ์กธ์ ์ํ์ ๋ง์น๊ณ ์ฐ์ฐํ
Figma
๋ฅผ ์ ํ ์ ์๋ ๊ธฐํ๊ฐ ์์ด์, ์ด๋ฅผ ํตํด UI๋ฅผ ๋์์ธํด ๋ณด์๋ค.
์ดํ, ์ด๋ฅผ ํ ๋๋ก Xcode์ StoryBoard์ UI๋ฅผ ๊ทธ๋ ธ๋ค!
์ด๋๊น์ง๋ง ํด๋ ์์กฐ๋ก์ ๋ค...
์ง๋ ๊ณผ์ ๋ฅผ ํ๋ฉฐ UITableView๋ ์ด๋์ ๋ ์ ์์ด ๋์์ง๋ง, UICollection์ ์ฒ์ ์ ํ๋ค ๋ณด๋ ๊ธฐ๋ฅ ๊ตฌํ์ ์ด๋ ค์์ด ์์๋ค.
ํ์ฐธ๋์ ์ฐพ์๋ณด๋ UITableView์ ์ ์ฌํ ๋ฏ ํ์์ง๋ง, ์ฝ๊ฒ ๊ตฌํํ์ง ๋ชปํ์๋ค...
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var CoffeListCollection: UICollectionView!
@IBOutlet weak var CoffeeListSelector: UISegmentedControl!
let coffeeDataSet = [
"์๋ฉ๋ฆฌ์นด๋
ธ": "2500",
"์นดํ๋ผ๋ผ": "4000",
"์์คํ๋ ์": "2000"
]
let teaDataSet = [
"์ผ๋ชจ๋ง์ผํฐ": "4000",
"์์ด์คํฐ": "3500",
"๋ ๋ชฌํฐ": "4000",
"๊ทธ๋ฆฐํฐ": "3500"
]
let cakeDataSet = [
"๋ธ๋ฃจ๋ฒ ๋ฆฌ์น์ฆ์ผ์ต": "6000",
"๋ฐ์คํฌ ์น์ฆ์ผ์ต": "5500",
"๋น๊ทผ ์ผ์ต": "6500"
]
var currentDataSet: [String: String] = [:]
override func viewDidLoad() {
super.viewDidLoad()
CoffeeListSelector.addTarget(self, action: #selector(segmentedControlValueChanged(_:)), for: .valueChanged)
CoffeListCollection.isHidden = false
currentDataSet = coffeeDataSet
}
@objc func segmentedControlValueChanged(_ sender: UISegmentedControl) {
switch sender.selectedSegmentIndex {
case 0:
currentDataSet = coffeeDataSet
case 1:
currentDataSet = teaDataSet
case 2:
currentDataSet = cakeDataSet
default:
break
}
CoffeListCollection.reloadData()
}
}
๊ทธ๋์ UISegmentedControl๋ง ์ผ๋จ ์ ์ฉ์์ผ ๋ณด์๋ค.
ํด๋น ์ ํ ์์๋ StoryBoard์์ ์ค์ ํ์์ผ๋ฉฐ, ์ ํ๋ ๊ฐ์ด 0 ~ 2์ธ์ง๋ฅผ ์
๋ ฅ๋ฐ์ currentDataSet
๋ผ๋ Dictionary ํ์
์ ๋น ๋ฐฐ์ด์ ์๋ง๋ DataSet์ผ๋ก ์ด๊ธฐํ์ํจ๋ค.
์ด๋, DataSet์ ์ด 3 ์ข ๋ฅ์ด๋ฉฐ coffeeDataSet, teaDataSet, cakeDataSet์ผ๋ก ์ํ ์ ๋ณด์ ๊ฐ๊ฒฉ์ ํฌํจํ๊ณ ์๋ค.
UICollectionView๋ง ํด๊ฒฐ๋๋ฉด, ๊ฐ Cell์ ์ด๋ฏธ์ง๋ฅผ ๋ฃ์ด๋ณด๋ ์์ ์ ์งํํ ์์ ์ด๋ค!
์ค๋ ํ๋ฃจ ์ค์ง์ ์ธ ์ฑ๊ณผ๊ฐ ์๋คํด๋ UICollectionView์ ์ด๋ค ๋ฐฉ์์ผ๋ก ๊ตฌํํ๊ณ , ํ๋ก์ ํธ๋ฅผ ์ ๋ฐ์ ์ผ๋ก ์ด๋ป๊ฒ ์ค๊ณํ๋ฉด ๋๊ฒ ๋ค๋ ์ฒญ์ฌ์ง์ด ๋จธ๋ฆฌ์์์ ๊ทธ๋ ค์ก๋ค!!
๊ทธ๋๋ง ๋คํ์ผ์ง๋..
๊ฐ๋ฅํ๋ฉด ์ค๋ ์ค์ผ๋ก UICollectionView์ ๋ง๋ฌด๋ฆฌํ๊ณ , UITableView๋ฅผ ์ถ๊ฐํ๊ณ ์ถ๋ค. ๐
์์ ์ ๋ชฐ?๋ฃจ