๐ 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..
('https://leesangdo.tistory.com/'์ดํ 'choeatce')์(๋) ใ๊ฐ์ธ์ ๋ณด ๋ณดํธ๋ฒใ ์ 30์กฐ์ ๋ฐ๋ผ ์ ๋ณด์ฃผ์ฒด์ ๊ฐ์ธ์ ๋ณด๋ฅผ ๋ณดํธํ๊ณ ์ด์ ๊ด๋ จํ ๊ณ ์ถฉ์ ์ ์ํ๊ณ ์ํํ๊ฒ ์ฒ๋ฆฌํ ์ ์๋๋ก ํ๊ธฐ ์ํ์ฌ ๋ค์๊ณผ ๊ฐ์ด ๊ฐ์ธ์ ๋ณด ์ฒ๋ฆฌ๋ฐฉ์นจ์ ์๋ฆฝ·๊ณต๊ฐํฉ๋๋ค. โ ์ด ๊ฐ์ธ์ ๋ณด์ฒ๋ฆฌ๋ฐฉ์นจ์ 2023๋ 1์ 1๋ถํฐ ์ ์ฉ๋ฉ๋๋ค. ์ 1์กฐ(๊ฐ์ธ์ ๋ณด์ ์ฒ๋ฆฌ ๋ชฉ์ ) ('https://leesangdo.tistory.com/'์ดํ 'choeatce')์(๋) ๋ค์์ ๋ชฉ์ ์ ์ํ์ฌ ๊ฐ์ธ์ ๋ณด๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค. ์ฒ๋ฆฌํ๊ณ ์๋ ๊ฐ์ธ์ ๋ณด๋ ๋ค์์ ๋ชฉ์ ์ด์ธ์ ์ฉ๋๋ก๋ ์ด์ฉ๋์ง ์์ผ๋ฉฐ ์ด์ฉ ๋ชฉ์ ์ด ๋ณ๊ฒฝ๋๋ ๊ฒฝ์ฐ์๋ ใ๊ฐ์ธ์ ๋ณด ๋ณดํธ๋ฒใ ์ 18์กฐ์ ๋ฐ๋ผ ๋ณ๋์ ๋์๋ฅผ ๋ฐ๋ ๋ฑ ํ์ํ ์กฐ์น๋ฅผ ์ดํํ ..
ํ๋ก์ ํธ ์งํ๋์ค NavigationController๋ก ์ฐ๊ฒฐ๋ View์์ dismiss์ดํ ์๋์ผ๋ก reloadData()๊ฐ ํธ์ถ๋์ง ์๋๋ค๋ ๊ฒ์ ์๊ฒ ๋์๋ค. dismiss ์ดํ ๋ณด์ด๋ ํ๋ฉด์์ viewWillAppear()๋ฅผ ํด์คฌ์์๋ ๋ง์ด๋ค. ๊ทธ๋์ ๊ตฌ๊ธ๋งํ ๊ฒฐ๊ณผ ์์ธ์ ์ฐพ์ ์ ์์๋ค. Navigation Controller๋ฅผ dismiss ํ ์ดํ์๋ viewWillAppear๋ viewDidAppear๊ฐ ์คํ๋์ง ์๋๋ค. CollectionView๋ TableView๋ฅผ reload ํ๋ ค๋ฉด NotificationCenter๋ก ๊ตฌํํด์ผ ํ๋ค. ์๋์ฝ๋์์ TableViewController์ DetailViewController๊ฐ ๋์ค๋๋ฐ, DetailViewController๊ฐ ๋ชจ๋ฌ๋ก ๋์ธ..
๋ชจ๋๋ ๋ชจ๋๋๋ ํน์ ๊ธฐ๋ฅ์ด ์๋ ๋์์ธ ํจํด ํน์ ์๋ฃ๊ตฌ์กฐ๋ผ๊ณ ํ ์ ์๋ค. ํ์ ์ ์ธ์๋ก ๋ฐ๋ ํ์ ( ํน์ ํ์ ์ ๊ฐ์ ํฌ์ฅ ) ํน์ ํ์ ์ ๊ฐ์ ํฌ์ฅํ ๊ฒ์ ๋ฐํํ๋ ํจ์(๋ฉ์๋)๊ฐ ์กด์ฌ ํฌ์ฅ๋ ๊ฐ์ ๋ณํํ์ฌ ๊ฐ์ ํํ๋ก ํฌ์ฅํ๋ ํจ์(๋ฉ์๋)๊ฐ ์กด์ฌ ์ปจํ ์คํธ ์ปจํ ์คํธcontext๋ ์ปจํ ์ธ ๋ฅผ ๋ด์ ์์ ๊ฐ์ ๊ฒ ํจ์์ ์ ๋ฌ์ธ์๋ก ์ปจํ ์คํธ๊ฐ ๋ค๋ฅธ ๊ฐ์ ์ ๋ฌํ๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค. func addThree(_ num: Int) -> Int { return num + 3 } //๋งค๊ฐ๋ณ์๋ก ์ผ๋ฐ Int ํ์ ์ ๊ฐ์ ๋ฐ๊ธฐ ๋๋ฌธ์ ์ ์์ ์ผ๋ก ์คํ addThree(2) //์ ๋ฌ์ธ์๊ฐ ์์ํ ๊ฐ์ด ์๋ ์ต์ ๋์ด๋ผ๋ ์ปจํ ์คํธ๋ก ๋๋ฌ์ธ์ฌ ์ ๋ฌ๋์๊ธฐ ๋๋ฌธ์ ์ค๋ฅ ๋ฐ์ addThree(..