Deep_Dev
article thumbnail
[iOS] Clean Build Folder
๐ŸŽ iOS/UIKit 2023. 11. 24. 23:54

๐Ÿ“š ๋นŒ๋“œ ํด๋ฆฐ Clean Build Folder ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋ฉด์„œ Image ํŒŒ์ผ๋“ค์„ ์ถ”๊ฐ€ํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ๊ณผ์ •์—์„œ AppIcon ์ด๋ฏธ์ง€๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๊ณผ์ •์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์—๋Ÿฌ๋ฅผ ๋งŒ๋‚ฌ๋‹ค. 2๊ฐ€์ง€ ์˜ค๋ฅ˜๊ฐ€ ๋ฒˆ๊ฐˆ์•„๊ฐ€๋ฉด์„œ ๋œจ๊ธฐ๋„ ํ–ˆ๋Š”๋ฐ, App ์•„์ด์ฝ˜ ์ด๋ฏธ์ง€๋ฅผ ํ”ฝ์…€๋ณ„๋กœ ๋‹ค์šด๋ฐ›์•„์„œ ํด๋” ๊ทธ๋Œ€๋กœ ์ถ”๊ฐ€ํ–ˆ์Œ์—๋„ ์ด์™€ ๊ฐ™์€ ์˜ค๋ฅ˜๋ฅผ ๋งŒ๋‚˜์„œ Build Success๊ฐ€ ์ด๋ฃจ์–ด์ง€์ง€ ์•Š์•˜๋‹ค. AppIcon ๋„ค์ด๋ฐ๋„ ์ž˜๋ชป๋˜์ง€์•Š์•˜์—ˆ๊ณ , 152.png ํŒŒ์ผ๋„ ์ •์ƒ์ ์œผ๋กœ ๋Œ์•„๊ฐ€ ์žˆ์—ˆ๋‹ค. ์ด ๋•Œ ํ•ด๊ฒฐ๋ฐฉ๋ฒ•์€, ์ด๋ฏธ์ง€๋ฅผ ๊ต์ฒดํ•˜๊ณ  ์ƒˆ๋กœ ์ถ”๊ฐ€ํ•˜๋Š” ํ–‰์œ„๋ฅผ ํ•˜์ง€๋ง๊ณ  Product - Clean Build Folder ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•œ๋‹ค. ์ฐพ์•„๋ณด๋‹ˆ Xcoce์—์„œ ์ž์ฒด์ ์œผ๋กœ ์ง€์›ํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ์ธ๋ฐ, 100% ์™„๋ฒฝํ•˜๊ฒŒ ์ง€์›Œ์ง€๋Š”๊ฒƒ์€ ์•„๋‹ˆ๋ผ๊ณ  ํ•˜์ง€๋งŒ ์ด๋ฏธ์ง€ ๊ด€๋ จํ•œ ์—๋Ÿฌ..

article thumbnail
[iOS] ์•ฑ์˜ ์ƒ๋ช…์ฃผ๊ธฐ (LifeCycle)
๐ŸŽ iOS/UIKit 2023. 6. 15. 16:03

์ƒ๋ช…์ฃผ๊ธฐ ( LifeCycle ) ์ƒ๋ช…์ฃผ๊ธฐ๋ผ๋Š” ๊ฒƒ์€ ์•ฑ์˜ ์ตœ์ดˆ ์‹คํ–‰๋ถ€ํ„ฐ ์•ฑ์ด ์™„์ „ํžˆ ์ข…๋ฃŒ๋˜๊ธฐ๊นŒ์ง€ ์•ฑ์ด ๊ฐ€์ง€๋Š” ์ƒํƒœ์™€ ๊ทธ ์ƒํƒœ๋“ค ์‚ฌ์ด์˜ ์ „์ด๋ฅผ ๋งํ•œ๋‹ค. ์•ฑ์˜ ์ƒํƒœ๋Š” ์•ฑ์ด ํ˜„์žฌ ์–ด๋– ํ•œ ๊ฒƒ์„ ํ•  ์ˆ˜ ์žˆ๋Š”๊ฐ€๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค. ์•ฑ์˜ ์ƒ๋ช…์ฃผ๊ธฐ ( App's Life Cycle ) App์˜ ์ƒ๋ช…์ฃผ๊ธฐ๋Š” APP์˜ ์‹คํ–‰/์ข…๋ฃŒ ๋ฐ App์ด Foreground/Background ์ƒํƒœ์— ์žˆ์„ ๋•Œ, ์‹œ์Šคํ…œ์ด ๋ฐœ์ƒ์‹œํ‚ค๋Š” event์— ์˜ํ•ด App์˜ ์ƒํƒœ๊ฐ€ ์ „ํ™˜๋˜๋Š” ๊ณผ์ •์„ ๋งํ•œ๋‹ค. ์นด์นด์˜คํ†ก ์•ฑ์œผ๋กœ ์นดํ†ก์„ ํ•˜๊ณ  ์žˆ๋Š” ๋„์ค‘์— ์ „ํ™”๊ฐ€ ์™”์„ ๋•Œ ์•ฑ์ด ํ™”๋ฉด์ƒ์—์„œ ๋ณด์—ฌ์ง€์ง€ ์•Š๋Š” ์ƒํƒœ์ธ Background ์ƒํƒœ์™€ ์•ฑ์ด ํ™”๋ฉด์— ์˜ฌ๋ผ์™€์žˆ๋Š” ์ƒํƒœ์ธ Foreground ๋“ฑ๊ณผ ๊ฐ™์€ ์ƒํƒœ๋“ค์„ ์ •์˜ํ•œ ๊ฒƒ์ด๋‹ค. iOS์—์„œ ์•ฑ์„ ์‹คํ–‰ํ•˜๋ฉด ๋ฌด์Šจ ์ผ์ด ๋ฒŒ์–ด์งˆ๊นŒ ? iO..

article thumbnail
[iOS][UiKit] Navigation BackButton ( ์‚ฌ๋ผ์ง€๋Š” ํ˜„์ƒ, ํ™”์‚ดํ‘œ๋งŒ ํ‘œ์‹œ )
๐ŸŽ iOS/UIKit 2023. 6. 14. 17:31

์ฝ”๋“œ๋กœ Navigation ์˜์—ญ ์ˆ˜์ •์„ ๋ฐ˜๋ณตํ•˜๋‹ค๊ฐ€ ์•Œ๊ฒŒ ๋œ ์‚ฌ์‹ค .. ์›๋ž˜๋Š” Navigation Back ๋ฒ„ํŠผ์„ ํ†ตํ•ด ํ™”๋ฉด์„ ์ „ํ™˜ํ–ˆ๋‹ค๊ฐ€ ๋Œ์•„์˜ค๋ฉด, ํ•ด๋‹น ๋ฒ„ํŠผ์ด ๋ณด์ด์ง€ ์•Š๋Š” ํ˜„์ƒ๋•Œ๋ฌธ์— ์ˆ˜์ •์„ ํ•˜๋ ค๊ณ  ํ–ˆ์—ˆ๋Š”๋ฐ, ์ด๋ฅผ ์ˆ˜์ •ํ•˜๋‹ค ์šฐ์—ฐํžˆ ํ•„์š”ํ–ˆ๋˜ ๊ตฌํ˜„์„ ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. Navigation Back Button A ํ™”๋ฉด์—์„œ Navigation ๋ฒ„ํŠผ์„ ํ†ตํ•ด B ํ™”๋ฉด์œผ๋กœ ์ „ํ™˜ํ–ˆ์„ ๋•Œ, Bํ™”๋ฉด์—์„œ ๋‹ค์‹œ A ํ™”๋ฉด์œผ๋กœ ๋Œ์•„๊ฐ€๋Š” Navigation ์˜์—ญ์˜ Back ๋ฒ„ํŠผ์„ ์ปจํŠธ๋กค๋Ÿฌ์˜ ํƒ€์ดํ‹€์€ ๋ณด์ด์ง€ ์•Š๊ณ , ํ™”์‚ดํ‘œ ๋ชจ์–‘๋งŒ ๋ณด์ด๊ฒŒ ํ•˜๊ณ  ์‹ถ์—ˆ๋‹ค. ์ผ๋‹จ ๋’ค๋กœ๊ฐ€๋Š”๋ฒ„ํŠผ์ด ์‚ฌ๋ผ์ง€๋Š” ํ˜„์ƒ์˜ ์›์ธ ๋„ค๋น„๊ฒŒ์ด์…˜ ๋ฐ”์˜ ์Šคํƒ€์ผ๊ณผ ๋ฒ„ํŠผ ์†์„ฑ์ด ์ •ํ™•ํ•˜๊ฒŒ ์„ค์ •๋˜์–ด์žˆ๋Š”์ง€ ํ™•์ธํ•ด์•ผ ํ–ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋„ค๋น„๊ฒŒ์ด์…˜ ๋ฐ”์˜ ์Šคํƒ€์ผ๊ณผ ๋ฒ„ํŠผ ์†์„ฑ์„..

article thumbnail
[iOS][UiKit] SnapKit ์ •๋ฆฌ ( inset/offset , translates~ )
๐ŸŽ iOS/UIKit 2023. 6. 9. 16:44

SnapKit SnapKit์„ ์‚ฌ์šฉํ•ด๋ณด๋ฉด์„œ ํ—ท๊ฐˆ๋ ธ๋˜ ๋ถ€๋ถ„ ์ •๋ฆฌ - offset/inset - translateAutoresizingMaskIntoContraints ๐Ÿ“Œ offset / inset ๐Ÿ’กoffset ์‚ฌ์šฉ์‹œ 'ํ˜„์žฌ ๋ทฐ constraint = ์Šˆํผ๋ทฐ constraint + offset ๊ฐ’'์„ ์ƒ๊ฐํ•˜๊ณ  ์„ค์ •ํ•œ๋‹ค. label.snp.makeConstraints { make in make.top.equalToSuperview().offset(50) make.left.equalToSuperview().offset(50) make.right.equalToSuperview().offset(-50) make.bottom.equalToSuperview().offset(-50) } ๊ธฐ์ค€์ด ๋˜๋Š” View์— ๋งž์ถฐ์„œ ..

article thumbnail
[iOS] Cell ๊ทธ๋ฆผ์ž + ๋‘ฅ๊ธ€๊ฒŒ ( shadow, cornerRadius )
๐ŸŽ iOS/UIKit 2023. 5. 23. 14:13

๐Ÿ“Œ Shadow & cornerRadius ์ผ๋ฐ˜์ ์œผ๋กœ Shadow๋ž‘ Radius๋ฅผ ๊ฐ™์ดํ•˜๋ฉด ์ ์šฉ์ด ์•ˆ๋˜๋Š”๋ฐ, Cell์€ ์‰ฝ๊ฒŒ ๊ตฌํ˜„์ด ๊ฐ€๋Šฅํ•˜๋‹ค. func setUpLayout() { layer.shadowColor = UIColor.black.cgColor layer.shadowOpacity = 0.5 layer.shadowRadius = 10 contentView.layer.cornerRadius = 10 contentView.layer.masksToBounds = true } Cell ์•ˆ์—์„œ Layout ํ•  ๋•Œ ์ด๋ ‡๊ฒŒ Cell์— Shadow๋ฅผ ๋„ฃ๊ณ  corner Radius๋ฅผ ์ ์šฉํ•ด์ฃผ๋ฉด ๋œ๋‹ค. ๐Ÿ’ก CollectionView Cell์— ํ…Œ๋‘๋ฆฌ ๋‘ฅ๊ทผํšจ๊ณผ๋งŒ ์ ์šฉ ๐Ÿ’ก Button์ด๋‚˜ View์˜ ํ…Œ๋‘๋ฆฌ ๋‘ฅ๊ธ€๊ฒŒ l..

article thumbnail
[iOS] Delegate ํŒจํ„ด์— ๋Œ€ํ•ด์„œ
๐ŸŽ iOS/UIKit 2023. 4. 5. 17:02

๐Ÿ“Œ Delegate Pattern Delegate ํŒจํ„ด์€ iOS์—์„œ ์ •๋ง ๋งŽ์ด ์“ฐ์ด์ง€๋งŒ, ๋ญ”์ง€ ๋ชจ๋ฅด๊ณ  ๊ทธ๋ƒฅ ์ฝ”๋“œ๋ฅผ ์น˜๊ณ  ์žˆ๊ธฐ ์ œ์ผ ์‰ฌ์šด ๊ฒƒ๋“ค ์ค‘ ํ•˜๋‚˜์ธ ๊ฒƒ ๊ฐ™๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, UITableView๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด์„œ UITableViewDataSource, UITableViewDelegate๋ฅผ ๋‹น์—ฐํ•˜๊ฒŒ ViewController์— ์ฑ„ํƒํ•˜๊ณค ํ•˜์ง€๋งŒ ์™œ ๊ผญ ํ…Œ์ด๋ธ”๋ทฐ๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด UITableViewDataSource๋ฅผ ์ฑ„ํƒํ•ด์•ผ ํ•˜๋Š”์ง€, UITableViewDataSource์™€ UITableViewDelegate๋Š” ์™œ ํ”„๋กœํ† ์ฝœ๋กœ ๊ตฌํ˜„๋˜์–ด ์žˆ๋Š”์ง€ ๋“ฑ๋“ฑ์„ ์„ค๋ช…ํ•˜๋Š” ๊ฑด ํŠนํžˆ๋‚˜ ์ดˆ์‹ฌ์ž์—๊ฒ ์‰ฝ์ง€ ์•Š์€ ์ผ์ด๋‹ค. ์• ํ”Œ์€ ์™œ ๊ทธ๋ ‡๊ฒŒ๋‚˜ ๋งŽ์€ UI์š”์†Œ๋“ค์— Delegate ํŒจํ„ด์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ๊ฑธ๊นŒ ํ•ญ์ƒ ์ดํ•ดํ•œ ๋“ฏ ์•ˆ ํ•œ๋“ฏ, ..

article thumbnail
[iOS]AutoLayout : TableView_Text_Dynamic_Cell
๐ŸŽ iOS/UIKit 2023. 4. 4. 18:04

๐Ÿ“Œ AutoLayout : TableView_Text_Dynamic_Cell Text Line์— ๋”ฐ๋ผ Cell์˜ ๋†’์ด๋ฅผ ๋™์ ์œผ๋กœ ๋ณ€ํ•˜๊ฒŒ ํ•˜๋Š” ๋ฐฉ๋ฒ• tableView tableViewCell ์„ค์ •ํ›„ Label 4๊ฐœ๋ฅผ ๋ชจ๋‘ ์ƒํ•˜์ขŒ์šฐ 20์„ ์ค€๋‹ค. ( ์ œ์ผ ์šฐ์ธก ์ƒ๋‹จ์˜ bottom์€ ์ œ๊ฑฐ ) ์™ผ์ชฝ 3๊ฐœ์˜ ๋ผ๋ฒจ Hugging Priority - Vertical์„ ์กฐ์ ˆํ•˜์—ฌ ์ •๋ ฌํ•œ๋‹ค. Cell์˜ identifier ์„ค์ • tableView๋ฅผ VC์™€ dataSource, delegate ์—ฐ๊ฒฐ protocol ์ถ”๊ฐ€ ํ›„ ์ฝ”๋“œ ์ž…๋ ฅ ํ˜„์žฌ๊นŒ์ง€์˜ ๊ฒฐ๊ณผ MyCell์˜ Class๋ฅผ ๊ฐ™์€ ํŒŒ์ผ์— ์ƒ์„ฑํ•˜์—ฌ์ฃผ๊ณ  ( ๋‹ค๋ฅธ ํŒŒ์ผ์— ๋งŒ๋“ค์–ด์ค˜๋„ ๋œ๋‹ค ) Cell์•ˆ์˜ Label์ค‘ ์ตœํ•˜๋‹จ์˜ ๊ฒƒ์„ IBOulet ์„ค์ •ํ•œ๋‹ค. talbeViewCell์˜..

article thumbnail
[iOS] AutoLayout : TableView_Expand
๐ŸŽ iOS/UIKit 2023. 4. 4. 16:50

๐Ÿ“Œ AutoLayout : TableView_Expand ์ž์œ ๋กœ์šด ๋™์  ๋†’์ด Table View์˜ Cell ์„ ํด๋ฆญํ–ˆ์„๋•Œ Cell ์˜ ๋†’์ด๊ฐ€ ๋™์ ์œผ๋กœ ๋ณ€ํ•˜๋Š” ( expand ) Layout tableView - tableViewCell - Label ๋ ˆ์ด์•„์›ƒ ์„ค์ • ํ›„ MyCell ํด๋ž˜์Šค๋ฅผ ์ƒ์„ฑํ•˜์—ฌ label Outlet ์„ค์ • ์ดํ›„ tableView์— ํ•ด๋‹นํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ๊ตฌ์„ฑํ•ด์ค€๋‹ค. ๋‹ค ๋œ๋‹ค๋ฉด ์Šคํ† ๋ฆฌ๋ณด๋“œ์˜ tableView๋ฅผ ์ƒ์œ„ VC์— dataSource, delegate๋ฅผ ์—ฐ๊ฒฐํ•œ๋‹ค. ( TableViewCell์˜ identifier = expandCell ์„ค์ •ํ›„ Class๋ฅผ ์ƒ์„ฑํ•ด์ฃผ์—ˆ๋˜ MyCell๊ณผ ์—ฐ๊ฒฐํ•ด์ฃผ์–ด์•ผํ•œ๋‹ค. ) ( Label ์˜ Lines๋Š” 0 ์œผ๋กœ ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค. ) Label์— ๋“ค์–ด๊ฐˆ ์ž„์‹œ ..