
๐ AutoLayout : Popup _ Animation ํ์ ๊ณผ ์ ๋๋ฉ์ด์ ํจ๊ณผ MainStoryboard์ 'Show popup' ๋ฒํผ์ ํ๋ ์ถ๊ฐํด์ค๋ค. cmd + n ์ ๋๋ฌ cocoa Touch ํ์ผ 1๊ฐ, StoryBoard ํ์ผ 1๊ฐ๋ฅผ ๊ฐ๊ฐ ๋ง๋ค์ด์ค๋ค. ๋ง๋ ์คํ ๋ฆฌ๋ณด๋๋ฅผ ์ฐ์ธก์์ class ์ฐ๊ฒฐ๊ณผ StoryBoard ID๋ฅผ ์ง์ ํ๊ณ 'Use Storyboard ID'๊น์ง ์ฒดํฌํ๋ค. ๋ค์๊ณผ ๊ฐ์ด View์์ imageView, Button 3๊ฐ๋ฅผ ๋ง๋ค๊ณ ๋ ์ด์์์ ์๋ฃํ๋ค. * imageView์ ์ฌ์ง์ด ๋์ด๊ฐ ๋๋ฌด ๋๊ฒ ๋์ค๋ฉด ์ค์ ์์ Aspect fit์ ์ ํํ๋ค. ๊ทธ๋ฆฌ๊ณ ์ฌ์ง์ ๋์ด๋ฅผ ์ง์ ํด์ฃผ๊ณ , Constant๊ฐ์ ์กฐ์ ํ์ฌ ๋์ด๋ฅผ ๋ฎ์ถ๋ค. * ํ๋จ Button 2๊ฐ๋ ์ํ์ข์ฐ 20์ ์ฃผ..

๐ AutoLayout : Graph_Animated ๊ทธ๋ํ๋ฅผ ํํํ๋ ๋ฐฉ๋ฒ๊ณผ ์ ๋๋ฉ์ด์ ์ค์์ ๋ณด์ด๋ ๋ง๋ํ Graph Layout์ ๋ง๋ค์ด๋ณด๋๊ฒ์ด๋ค. View ์์ View๋ฅผ ์ถ๊ฐํ์ฌ ๋ง๋๋ฅผ ๋ง๋ค๊ณ ๋ง๋ ํ๋๋ฅผ ์ฐํด๋ฆญํ์ฌ ์์View์ 'Equals Height' ์ค์ ํ๊ณ Structure์ ๋ณด์ด๋ฏ์ด ์์ View ~ ๋ง๋ View 6๊ฐ๋ฅผ ๋ชจ๋ ์ ํํ์ฌ 'Equal Height' ์ค์ 6๊ฐ ๋ง๋View๋ง ์ ํํ์ฌ Equal Widths๋ก ๋์ด๋ฅผ ๊ฐ๊ฒ ๋ง๋ค์ด์ค๋ค. ํ๋ํ๋์ ๋ง๋ View์ ๋์ด๋ Equal Height to ์ Multiplier๋ฅผ ์กฐ์ ํด์ค๋ค. ํ์ง๋ง ์ฌ๊ธฐ๊น์ง๋ Multiplier๋ฅผ ์ด์ฉํด์ ๊ตฌํํ ๊ฒ์ด์ง๋ง, ์ฌ์ฉ์ํํ ์ ๋ ฅ์ ๋ฐ๊ฑฐ๋ ๋คํธ์ํฌ๋ฅผ ํตํด์ ์ ๋ ฅ๋ฐ์ ๊ฐ์ผ๋ก ํํํ๊ธฐ์ํด์ ์ด..

๐ AutoLayout : Dynamic Text ๋์ ํ ์คํธ ๊ตฌํ ๋ฐฉ๋ฒ View์ ์์น๋ ์ํ, ์์ง์ผ๋ก ์ค์ ์ ํด์ฃผ์๊ณ View๋ด imageView์ ์์น๋ฅผ ์ก์์ฃผ์ด์ผ ํ๋ค. ๊ฝ์ฐจ๊ฒ ๋ง๋ค๊ธฐ ์ํด, ์ํ์ข์ฐ ์ฌ๋ฐฑ์ 0์ผ๋ก ์ค์ ํ๋ฉด ๋น์จ์ด ๊นจ์ ธ์ ์ด์ํ๊ฒ ๋ณด์ผ ๊ฒ์ด๋ค. ๊ทธ ์ด์ ๋ imageView์ ํฌ๊ธฐ์ ๋ค์ด๊ฐ๋ image๋ฅผ ํฝ์ ๊ฐ ๊ทธ๋๋ก ๊ฐ์ ธ์๊ธฐ๋๋ฌธ์ด๋ค. ์ฆ, ์ ์ฝ์กฐ๊ฑด์ ์ง์ ํด์ฃผ์ง ์์์์ด๋ค. ๋จผ์ imageView์ ContentMode๋ฅผ Asfect Fit์ผ๋ก ์ค์ ํ๋ค. ๊ทธ๋ผ์๋ ์์ง ํฌ๊ธฐ๊ฐ ๋ง์ง ์๋๋ค. image์ ์๋ณธ ํฌ๊ธฐ๋๋ก ์ฌ๋ฆฌ๋ ค๋ฉด -> ์ฌ์ง์ Aspect Ratio๋ฅผ ์ถ๊ฐํ์ฌ ์ฌ์ง์ ์๋ณธ ํฌ๊ธฐ(width, height )๋ฅผ ๋น์จ์ ์ค์ ํด์ค๋ค. ๊ทธ๋ผ imageView์ ํฌ๊ธฐ๊ฐ ํด๊ฒฐ ์๋ฃ ..

๐ AutoLayout : StackView ํ์ฉํด์ ๊ณ์ฐ๊ธฐ Layout ๊ตฌํ 1. StackView๋ก UIButton ๋ฌถ๊ธฐ ( ๊ฐ๋ก๋ก ๋ฌถ๋ , ์ธ๋ก๋ก ๋ฌถ๋ ) 2. StackView ๋ด์์ ๊ฐ์ฒด๋ค์ ํฌ๊ธฐ ์ค์ ( Button ๋ชจ๋ ์ ํํ์ฌ Equals Width ) 2-1. Multiplier๋ก ํฌ๊ธฐ ๋น์จ ์ค์ ( ์ซ์ 0์ด ์๋ ์ ์ผ ํ๋จ StackView ) 2-1. StackView ์์น ์ค์ 3. UIButton ํน์ ๋์ด๊ฐ ์ง์ ํ์ง ๋ง๊ณ , Aspect Ratio ๋ก ์ค์ ํ์ฌ Multiplier ๋น์จ 1:1 ( -> ์ ์ฌ๊ฐํ ์กํ๋ค ) ๐ UIButton ๋ฅ๊ธ๊ฒ @IBOutlet weak var myButton : UIButton! myButton.layer.masksToBounds = true ..
๐ reloadData() ๊ฐ์ ๋ฐ ์ฐธ๊ณ ์ฌํญ ๐ reloadData() reloadData()๋ ํ ์ด๋ธ๋ทฐ์ ์ธ์คํด์ค ๋ฉ์๋์ด๋ค. ํ ์ด๋ธ๋ทฐ ์ธ์คํด์ค์์ ์ ๊ทผํด์ ์ฌ์ฉํ ์ ์๋ค. reloadData()๋ ํ ์ด๋ธ ๋ทฐ์ ํ์ฌ ๋ณด์ด๋ ์ ์ฒด์ด(row), ์น์ (section)์ ์ ๋ฐ์ดํธํ ๋ ์ฌ์ฉํ๋ค. reloadData()๋ ํน์ ์ด, ์น์ ์ ๋ถ๋ถ์ ์ ๋ฐ์ดํธ๊ฐ ์๋, ํ ์ด๋ธ ๋ทฐ์ ์ ์ฒด ์์ญ์ ์ ๋ฐ์ดํธ ํ ๋ ํจ๊ณผ์ ์ด๋ค. ๐ Declaration ์ ์ธ ๋ฐฉ์ func reloadData() reloadData()๋ ํ ์ด๋ธ๋ทฐ์ ์ธ์คํด์ค ๋ฉ์๋๋ก, ์์ ๊ฐ์ด ๊ตฌ์ฑ๋์ด ์๋ค. ํด๋น ๋ฉ์๋๋ฅผ ๊ฐ๊ณ ์๋ ํ์ ์ UICollectionView, UITableView ๋ฑ์ด ์๋ค. ์ด๋ฒ ํฌ์คํ ์์๋ TableView๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ณด๋..

https://developer.apple.com/documentation/uikit/uitabbarcontroller/ ์์ดํฐ์ ๊ธฐ๋ณธ ์๊ณ์ฑ ํ๋จ๋ถ๋ฅผ ๋ณด๋ฉด 4๊ฐ์ ์์ด์ฝ์ด ์๋ค. ์ด๊ฒ์ด UITabBarController ๊ฐ ๊ตฌํ๋์ด ์๋ ๊ณณ์ด๋ค. ๐ UITabBarController UITabBarController๋ฅผ ์ปจํ ์ด๋ ๋ทฐ ์ปจํธ๋กค๋ฌ๋ผ๊ณ ํ๋ค. ์ด๋ ๋ค์ค ์ ํ ์ธํฐํ์ด์ค๋ฅผ ๊ด๋ฆฌํจ์ผ๋ก์จ ์์ ๋ทฐ ์ปจํธ๋กค๋ฌ๋ฅผ ๋ณด์ฌ์ค๋ค. ๊ฐ ํญ์ ํญ ๋ฐ ์ปจํธ๋กค๋ฌ ์ธํฐํ์ด์ค๋ ์ปค์คํ ๋ทฐ ์ปจํธ๋กค๋ฌ๋ฅผ ๊ฐ๊ณ ์๋ค. ์ฌ์ฉ์๊ฐ ํน์ ํญ์ ์ ํํ๋ค๋ฉด, ํญ ๋ฐ ์ปจํธ๋กค๋ฌ๋ ํน์ ํญ์ ํด๋นํ๋ ๋ทฐ ์ปจํธ๋กค๋ฌ์ root view ๋ฅผ ๋ณด์ฌ์ค๋ค. ํญ ๋ฐ ์ธํฐํ์ด์ค๋ ๋๊ฐ ์๋ก ๋ค๋ฅธ ํํ์ ์ ๋ณด๋ฅผ ๋ณด์ฌ์ฃผ๋ ค๊ณ ํ๊ฑฐ๋, ๊ฐ์ ์ ๋ณด๋ฅผ ๋ค๋ฅธ ์คํ์ผ์ ์ธ..

๐ UI Switch 1. UISwitch๋ฅผ ํญํ๋ค. 2. alert๊ฐ ๋ฌ๋ค. 3. alert์์ OK๋ฅผ ๋๋ฅด๋ฉด UISwitch์ ์ํ(value)๊ฐ ๋ฐ๋๋ค. ์ฌ๊ธฐ์, UISwitch์ ๊ฐ์ ๋ฐ๊ฟ๋ ค๊ณ ํฐ์น๋ฅผ ํ์ง๋ง alert๊ฐ ๋จ๊ณ ์ฌ์ฉ์๊ฐ OK๋ฅผ ๋๋ฅผ ๋ ๊น์ง๋ ๊ฐ์ด ๋ณํ์ง ์์์ผ ํ๋ค. ์ด๋ด ๋๋, setOn์ ์ด์ฉํ๋ค. ๊ฒฐ๋ก ์ ์ผ๋ก, 1. Switch๊ฐ On ์ํ๋ก ์๊ณ , ํฐ์นํ์ฌ Offํ๊ณ ์ ํ ๋ alert๊ฐ ๋ฌ๋ค. 2. cancel์ ๋๋ฅด๋ฉด ์๋ Switch์ ๊ฐ์ด ์ ์ง๊ฐ ๋๋ค.( = On์ผ๋ก ์ ์ง ) 3. OK๋ฅผ ๋๋ฅด๋ฉด Switch์ ๊ฐ์ด Off๊ฐ ๋๋ค. @IBAction func switchValueChanged(_ sender: Any) { if self.mySwi..

ํ๋ก์ ํธ ์งํ๋์ค NavigationController๋ก ์ฐ๊ฒฐ๋ View์์ dismiss์ดํ ์๋์ผ๋ก reloadData()๊ฐ ํธ์ถ๋์ง ์๋๋ค๋ ๊ฒ์ ์๊ฒ ๋์๋ค. dismiss ์ดํ ๋ณด์ด๋ ํ๋ฉด์์ viewWillAppear()๋ฅผ ํด์คฌ์์๋ ๋ง์ด๋ค. ๊ทธ๋์ ๊ตฌ๊ธ๋งํ ๊ฒฐ๊ณผ ์์ธ์ ์ฐพ์ ์ ์์๋ค. Navigation Controller๋ฅผ dismiss ํ ์ดํ์๋ viewWillAppear๋ viewDidAppear๊ฐ ์คํ๋์ง ์๋๋ค. CollectionView๋ TableView๋ฅผ reload ํ๋ ค๋ฉด NotificationCenter๋ก ๊ตฌํํด์ผ ํ๋ค. ์๋์ฝ๋์์ TableViewController์ DetailViewController๊ฐ ๋์ค๋๋ฐ, DetailViewController๊ฐ ๋ชจ๋ฌ๋ก ๋์ธ..