Deep_Dev
article thumbnail
[iOS] AutoLayout : Graph _ Animated
๐ŸŽ iOS/UIKit 2023. 3. 31. 20:38

๐Ÿ“Œ 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๋ฅผ ์ด์šฉํ•ด์„œ ๊ตฌํ˜„ํ•œ ๊ฒƒ์ด์ง€๋งŒ, ์‚ฌ์šฉ์žํ•œํ…Œ ์ž…๋ ฅ์„ ๋ฐ›๊ฑฐ๋‚˜ ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด์„œ ์ž…๋ ฅ๋ฐ›์€ ๊ฐ’์œผ๋กœ ํ‘œํ˜„ํ•˜๊ธฐ์œ„ํ•ด์„  ์ด..

article thumbnail
[iOS] AutoLayout : Dynamic Text ( ๋™์  ํ…์ŠคํŠธ )
๐ŸŽ iOS/UIKit 2023. 3. 30. 20:49

๐Ÿ“Œ AutoLayout : Dynamic Text ๋™์  ํ…์ŠคํŠธ ๊ตฌํ˜„ ๋ฐฉ๋ฒ• View์˜ ์œ„์น˜๋Š” ์ˆ˜ํ‰, ์ˆ˜์ง์œผ๋กœ ์„ค์ •์„ ํ•ด์ฃผ์—ˆ๊ณ  View๋‚ด imageView์˜ ์œ„์น˜๋ฅผ ์žก์•„์ฃผ์–ด์•ผ ํ•œ๋‹ค. ๊ฝ‰์ฐจ๊ฒŒ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด, ์ƒํ•˜์ขŒ์šฐ ์—ฌ๋ฐฑ์„ 0์œผ๋กœ ์„ค์ •ํ•˜๋ฉด ๋น„์œจ์ด ๊นจ์ ธ์„œ ์ด์ƒํ•˜๊ฒŒ ๋ณด์ผ ๊ฒƒ์ด๋‹ค. ๊ทธ ์ด์œ ๋Š” imageView์˜ ํฌ๊ธฐ์— ๋“ค์–ด๊ฐ€๋Š” image๋ฅผ ํ”ฝ์…€๊ฐ’ ๊ทธ๋Œ€๋กœ ๊ฐ€์ ธ์™”๊ธฐ๋•Œ๋ฌธ์ด๋‹ค. ์ฆ‰, ์ œ์•ฝ์กฐ๊ฑด์„ ์ง€์ •ํ•ด์ฃผ์ง€ ์•Š์•„์„œ์ด๋‹ค. ๋จผ์ € imageView์˜ ContentMode๋ฅผ Asfect Fit์œผ๋กœ ์„ค์ •ํ•œ๋‹ค. ๊ทธ๋Ÿผ์—๋„ ์•„์ง ํฌ๊ธฐ๊ฐ€ ๋งž์ง€ ์•Š๋Š”๋‹ค. image์˜ ์›๋ณธ ํฌ๊ธฐ๋Œ€๋กœ ์˜ฌ๋ฆฌ๋ ค๋ฉด -> ์‚ฌ์ง„์˜ Aspect Ratio๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ์‚ฌ์ง„์˜ ์›๋ณธ ํฌ๊ธฐ(width, height )๋ฅผ ๋น„์œจ์„ ์„ค์ •ํ•ด์ค€๋‹ค. ๊ทธ๋Ÿผ imageView์˜ ํฌ๊ธฐ๊ฐ€ ํ•ด๊ฒฐ ์™„๋ฃŒ ..

article thumbnail
[iOS] AutoLayout : StackView ํ™œ์šฉ
๐ŸŽ iOS/UIKit 2023. 3. 30. 17:20

๐Ÿ“Œ 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 ..

article thumbnail
[iOS] Modal dismiss ์ดํ›„ reloadData() ํ•˜๊ธฐ
๐ŸŽ iOS/UIKit 2023. 3. 21. 14:24

ํ”„๋กœ์ ํŠธ ์ง„ํ–‰๋„์ค‘ NavigationController๋กœ ์—ฐ๊ฒฐ๋œ View์—์„œ dismiss์ดํ›„ ์ž๋™์œผ๋กœ reloadData()๊ฐ€ ํ˜ธ์ถœ๋˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค. dismiss ์ดํ›„ ๋ณด์ด๋Š” ํ™”๋ฉด์—์„œ viewWillAppear()๋ฅผ ํ•ด์คฌ์Œ์—๋„ ๋ง์ด๋‹ค. ๊ทธ๋ž˜์„œ ๊ตฌ๊ธ€๋งํ•œ ๊ฒฐ๊ณผ ์›์ธ์„ ์ฐพ์„ ์ˆ˜ ์žˆ์—ˆ๋‹ค. Navigation Controller๋ฅผ dismiss ํ•œ ์ดํ›„์—๋Š” viewWillAppear๋‚˜ viewDidAppear๊ฐ€ ์‹คํ–‰๋˜์ง€ ์•Š๋Š”๋‹ค. CollectionView๋‚˜ TableView๋ฅผ reload ํ•˜๋ ค๋ฉด NotificationCenter๋กœ ๊ตฌํ˜„ํ•ด์•ผ ํ•œ๋‹ค. ์•„๋ž˜์ฝ”๋“œ์—์„œ TableViewController์™€ DetailViewController๊ฐ€ ๋‚˜์˜ค๋Š”๋ฐ, DetailViewController๊ฐ€ ๋ชจ๋‹ฌ๋กœ ๋„์šธ..

article thumbnail
[Swift][UIkit] iOS์•ฑ์˜ ๊ตฌ์กฐ์™€ ์ฝ”์ฝ”์•„ํ„ฐ์น˜ ํ”„๋ ˆ์ž„์›Œํฌ
๐ŸŽ iOS/UIKit 2022. 12. 25. 14:39

๐Ÿ’กiOS ์•ฑ์˜ ๊ตฌ์กฐ ๐Ÿ“Œ ๊ฐœ๋ฐœ๊ด€์ ์—์„œ ๋ณด๋Š” iOS ์•ฑ์˜ ๊ตฌ์กฐ - Custom Code : ๊ฑด๋“œ๋ฆด ์ˆ˜ ์žˆ๋Š” ์˜์—ญ - System Framework : ๊ฑด๋“œ๋ฆด ์ˆ˜ ์—†๋Š” ์˜์—ญ UIApplicationMain() : iOS ์•ฑ์— ์†ํ•˜๋Š” ๋ถ€๋ถ„์˜ ์—”ํŠธ๋ฆฌ ํฌ์ธํŠธ ์•ฑ์˜ ํ•ต์‹ฌ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ํ•ธ๋“ค๋งํ•˜๊ณ , ์Šคํ† ๋ฆฌ๋ณด๋“œ ํŒŒ์ผ๋กœ๋ถ€ํ„ฐ ์•ฑ์˜ ์œ ์ € ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ฝ์–ด๋“ค์ผ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์šฐ๋ฆฌ๊ฐ€ ์ž‘์„ฑํ•œ ์ปค์Šคํ…€ ์ฝ”๋“œ๋ฅผ ํ˜ธ์ถœํ•ด ์คŒ์œผ๋กœ์จ ์•ฑ ์ƒ์„ฑ ์ดˆ๊ธฐ์— ํ•„์š”ํ•œ ์„ค์ •์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค. AppDelegate : ๊ฐ์ฒด๋ฅผ ๋‚ด์„ธ์šฐ๊ณ  ์ปค์Šคํ…€ ์ฝ”๋“œ๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ์•ฝ๊ฐ„์˜ ๊ถŒํ•œ ๋ถ€์—ฌ UIApplication์œผ๋กœ๋ถ€ํ„ฐ ์œ„์ž„๋ฐ›์€ ์ผ๋ถ€ ๊ถŒํ•œ์„ ์ด์šฉํ•˜์—ฌ ์ปค์Šคํ…€ ์ฝ”๋“œ์™€ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š” ์—ญํ• ์„ ๋‹ด๋‹นํ•˜๊ณ , ์ด๋ฅผ ํ†ตํ•ด ์šฐ๋ฆฌ๊ฐ€ ํ•„์š”ํ•œ ์ฝ”๋“œ๋ฅผ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋„๋ก ..