๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
728x90

๐ŸŽ iOS/UIKit19

[iOS] iOS ์•ฑ ๊ฐœ๋ฐœ ํ”„๋ ˆ์ž„์›Œํฌ - CocoaPod, UIKit, Foundation Cocoa Touch, UIKit, Foundation - iOS ์•ฑ ๊ฐœ๋ฐœ์— ํ•„์š”ํ•œ ํ”„๋ ˆ์ž„์›Œํฌ iOS ์•ฑ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ถ€์ŠคํŠธ์ฝ”์Šค ๋ฌด๋ฃŒ ๊ฐ•์˜ www.boostcourse.org 1์žฅ์—์„œ ์Œ์•…์žฌ์ƒ ์•ฑ์„ ๋งŒ๋“ค๋ฉด์„œ ์•„๋ž˜์˜ ๋‚ด์šฉ๋“ค์„ ํ•™์Šตํ–ˆ์Šต๋‹ˆ๋‹ค. ์—์…‹(Asset) - ์•ฑ ์•„์ด์ฝ˜, ์ด๋ฏธ์ง€ ํŒŒ์ผ, ๋ฐ์ดํ„ฐ ํŒŒ์ผ์„ ๊ด€๋ฆฌ, ์•ฑ ์‹คํ–‰์‹œ ํŒŒ์ผ์— ์‰ฝ๊ฒŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค€๋‹ค. ์•ฑ ์‹œ๋‹(App thinning)๊ณผ ์•ฑ ์Šฌ๋ผ์ด์‹ฑ(App slicing) - ๋‹ค์–‘ํ•œ ๋””๋ฐ”์ด์Šค์—์„œ ๋น ๋ฅด๊ฒŒ ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ์ตœ์ ํ™” ๊ธฐ์ˆ  Cocoa Touch, UIKit, Foundation - iOS ์•ฑ ๊ฐœ๋ฐœ์— ํ•„์š”ํ•œ ํ”„๋ ˆ์ž„์›Œํฌ UI ๋ฅผ ๊ฐœ๋ฐœํ•˜๊ณ  Autolayout ์„ ์ ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ• - ์ธํ„ฐํŽ˜์ด์Šค ๋นŒ๋” vs ์ฝ”๋“œ๋กœ ์ž‘์„ฑ iOS์˜ View ์ฒด๊ณ„ -.. 2021. 6. 13.
[iOS/Swift] ๋ชจ์„œ๋ฆฌ๊ฐ€ ๋‘ฅ๊ทผ, ๊ทธ๋ฆผ์ž๊ฐ€ ์ ์šฉ๋œ ํŒ์—… ๋ทฐ ๊ตฌํ˜„ํ•˜๊ธฐ ๐Ÿ’ก [iOS/Swift] ๋ชจ์„œ๋ฆฌ๊ฐ€ ๋‘ฅ๊ทผ, ๊ทธ๋ฆผ์ž๊ฐ€ ์ ์šฉ๋œ ํŒ์—… ๋ทฐ ๊ตฌํ˜„ํ•˜๊ธฐ Zerobin ์•ฑ์—์„œ ์™ผ์ชฝ ํ™”๋ฉด์€ ๋ฆฌ๋ทฐ์ž‘์„ฑ์‹œ ์ƒˆ์‹น์Šคํƒฌํ”„๋ฅผ ๋ˆ„๋ฅด๋Š” ํ™”๋ฉด์ด๊ณ , ์˜ค๋ฅธ์ชฝ ํ™”๋ฉด์€ ์ƒˆ์‹น ์Šคํƒฌํ”„์— ๋Œ€ํ•œ ์„ค๋ช…์„ ๋‚˜ํƒ€๋‚ด๋Š” ํ™”๋ฉด์ž…๋‹ˆ๋‹ค. ์•ฑ๊ฐœ๋ฐœ์„ ํ•˜๋ฉด์„œ ์™ผ์ชฝํ™”๋ฉด์˜ โ“˜ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํŒ์—… ๋ทฐ๊ฐ€ ๋‚˜ํƒ€๋‚˜๋„๋ก ๊ฐœ๋ฐœํ•ด์•ผ ํ–ˆ๊ณ , ์ด ๊ณผ์ •์—์„œ ์ƒ๊ฒผ๋˜ ๋ฌธ์ œ๋“ค์„ ๋‹ค๋ค„๋ณผ๊ฒŒ์š”! ์„ค๋ช…์„ ์œ„ํ•ด์„œ ์™ผ์ชฝํ™”๋ฉด์€ MainVC, โ“˜ ๋ฒ„ํŠผ์€ infoButton, ์˜ค๋ฅธ์ชฝ ํ™”๋ฉด์— ๋‚˜ํƒ€๋‚œ ํŒ์—…ํ™”๋ฉด์„ PopupVC ๋ผ๊ณ  ์ง€์นญํ• ๊ฒŒ์š”. ๋จผ์ €, MainVC ์—์„œ PopupVC ๋ฅผ ๋„์šฐ๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•˜๊ณ  ํŒ์—…๋ทฐ์—์„œ View ์˜ ๋ชจ์„œ๋ฆฌ๋ฅผ ๋‘ฅ๊ธ€๊ฒŒ ์ฒ˜๋ฆฌํ•˜๊ณ , ๊ทธ๋ฆผ์ž๋ฅผ ์ ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋‚˜๋ˆ ์„œ ์ž‘์„ฑํ• ๊ฒŒ์š”. โœ”๏ธŽ ๋ฉ”์ธํ™”๋ฉด์—์„œ ํŒ์—… ๋ทฐ๋ฅผ ๋„์šฐ๋Š” ๋ฐฉ๋ฒ• 1. ๋จผ์ € ๋‘ ํ™”๋ฉด์„ ์Šคํ† .. 2021. 4. 28.
[iOS/Swift] Image Slide show - Label Page Indicator, Full screen view ๊ตฌํ˜„ํ•˜๊ธฐ ๐Ÿ–ผ ImageSlideshow ImageSlideshow ์„ค์น˜, ๋ทฐ ์ƒ์„ฑํ•˜๊ธฐ, ์ด๋ฏธ์ง€ ๋“ฑ๋กํ•˜๋Š” ๋ฒ•์€ ์ด์ „ ํฌ์ŠคํŒ…์„ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”. ํ•ด๋‹น ํฌ์ŠคํŒ…์—์„œ๋Š” Label Page Indicator ์ ์šฉํ•˜๋Š” ๋ฒ•, ์ด๋ฏธ์ง€ ํด๋ฆญ์‹œ ์ „์ฒด ํ™”๋ฉด์œผ๋กœ ์ „ํ™˜ํ•˜๋Š” ๋ฒ•์— ๋Œ€ํ•ด ๋‹ค๋ค„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. [iOS/Swift] Image Slide show + Firebase Storage ๋กœ ์Šฌ๋ผ์ด๋“œ ์ด๋ฏธ์ง€๋ทฐ ๊ตฌํ˜„ํ•˜๊ธฐ - 1 ๐Ÿ–ผ ImageSlideshow Customizable Swift image slideshow with circular scrolling, timer and full screen viewer Image Slide show ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ์—ฌ๋Ÿฌ ์ด๋ฏธ์ง€๋ฅผ ์˜†์œผ๋กœ ์Šฌ๋ผ์ด๋“œํ•˜๋Š” UI ๋ฅผ ๊ตฌํ˜„ํ•ด์ฃผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ.. jellysong.tisto.. 2021. 3. 28.
[iOS/Swift] Image Slide show + Firebase Storage ๋กœ ์Šฌ๋ผ์ด๋“œ ์ด๋ฏธ์ง€๋ทฐ ๊ตฌํ˜„ํ•˜๊ธฐ ๐Ÿ–ผ ImageSlideshow Customizable Swift image slideshow with circular scrolling, timer and full screen viewer Image Slide show ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ์—ฌ๋Ÿฌ ์ด๋ฏธ์ง€๋ฅผ ์˜†์œผ๋กœ ์Šฌ๋ผ์ด๋“œํ•˜๋Š” UI ๋ฅผ ๊ตฌํ˜„ํ•ด์ฃผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค! ์ธ์Šคํƒ€๊ทธ๋žจ์˜ ์ด๋ฏธ์ง€๊ฐ€ ๋‚˜ํƒ€๋‚˜๋Š” ๊ฒƒ์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์˜ ๊ธฐ๋Šฅ๋“ค์„ ์ œ๊ณตํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฏธ์ง€ ์Šฌ๋ผ์ด๋“œ์‹œ ์›ํ˜• ๊ตฌ๋ถ„์ž(circular indicator) ์ด์šฉ ์ด๋ฏธ์ง€ ์Šฌ๋ผ์ด๋“œ์‹œ Label Indicator (ex 1/5) ์ œ๊ณต ์ด๋ฏธ์ง€ ์Šฌ๋ผ์ด๋“œ๊ฐ€ ๊ฐ€๋Šฅํ•œ Full screen view ์ œ๊ณต ์‹œ๊ฐ„์„ ์„ค์ •ํ•ด ์ž๋™์œผ๋กœ ์ด๋ฏธ์ง€ ์Šฌ๋ผ์ด๋“œ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋„๋ก ์ œ๊ณต zvonicek/ImageSlideshow Swift im.. 2021. 3. 28.
[iOS/Swift] ์˜จ๋ณด๋”ฉ(Onboarding) ํŽ˜์ด์ง€ ๋งŒ๋“ค๊ธฐ - Storyboard, UserDefaults, SceneDelegate ๐Ÿ’ก ์˜จ๋ณด๋”ฉ, Onboarding ์˜จ๋ณด๋”ฉ ํŽ˜์ด์ง€๋Š” ์ƒˆ๋กœ์šด ์œ ์ €๋‚˜ ๋‹ค์‹œ ๋Œ์•„์˜จ ์œ ์ €๋ฅผ ํ™˜์˜ํ•ด์ฃผ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. ์œ ์ €์—๊ฒŒ ์–ดํ”Œ์˜ ์‚ฌ์šฉ๋ฒ•์„ ์•Œ๋ ค์ฃผ๊ฑฐ๋‚˜ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ํŒ, ์ฝ˜ํ…์ธ  ์ƒ˜ํ”Œ ๋“ฑ์„ ๋ณด์—ฌ์ฃผ๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋œ๋‹ค. ์ฒ˜์Œ์— ์•ฑ ์ตœ์ดˆ ์‹คํ–‰์‹œ ๋‚˜ํƒ€๋‚˜๋Š” ํŽ˜์ด์ง€, ์›ฐ์ปด ํŽ˜์ด์ง€ ๋“ฑ์œผ๋กœ ๊ฒ€์ƒ‰์„ ํ–ˆ์„ ๋•Œ์—๋Š” ๋ฐฉ๋ฒ•์„ ์ฐพ๊ธฐ๊ฐ€ ์–ด๋ ค์› ๋‹ค. ์˜จ๋ณด๋”ฉ์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค๋Š” ๊ฒƒ์„ ์ตœ๊ทผ์— ์•Œ๊ฒŒ๋˜์—ˆ๋‹ค. ๐Ÿ™‚.. ๊ฐœ๋ฐœํ•˜๊ณ ์ž ํ•˜๋Š” ๋‚ด์šฉ์ด ๋ฌด์—‡์œผ๋กœ ๋ถˆ๋ฆฌ๋Š”์ง€ ์•„๋Š”๊ฒŒ ์ค‘์š”ํ•˜๋‹ค๊ณ  ๋Š๊ผˆ๋‹ค. (HIG ๋ฅผ ๋จผ์ € ์ฐพ์•„๋ดค๋‹ค๋ฉด ์‰ฝ๊ฒŒ ์ฐพ์•˜๊ฒ ๋‹ค..) ์˜จ๋ณด๋”ฉ ํŽ˜์ด์ง€๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ , ์•ฑ์˜ ์ตœ์ดˆ ์‹คํ–‰์‹œ์—๋งŒ ๋‚˜ํƒ€๋‚˜๊ฒŒ ํ•˜๋Š” ์˜ˆ์ œ๋ฅผ ๊ฐœ๋ฐœํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค! Xcode ํ”„๋กœ์ ํŠธ์— Onboarding storyboard ์ถ”๊ฐ€ํ•˜๊ธฐ Storyboard ๋“ค์˜ ์ฒซ ๋ฒˆ์งธ VC ์˜ Storyboard ID ์ง€์ •ํ•˜๊ธฐ.. 2021. 3. 8.
[iOS/Swift] TableView ๋กœ ์ดˆ๊ฐ„๋‹จ TodoList ๋งŒ๋“ค๊ธฐ ์ด์ „์— ํฌ์ŠคํŒ…ํ•œ UITableView, UITableViewCell, Protocols ์„ ์ด์šฉํ•ด์„œ ์•ฑ์„ ์‹ค์ œ๋กœ ๋งŒ๋“ค์–ด๋ณผ๊ฒŒ์š”. ๊ณต์‹๋ฌธ์„œ๋ฅผ ๋ณด๊ณ  ์ •๋ฆฌํ–ˆ๋˜ ๋‚ด์šฉ๋“ค์ด๋ผ ์–ด๋ ต๊ฒŒ ์ž‘์„ฑํ•œ๊ฒƒ ๊ฐ™์•„์„œ ์‹ค์Šต์œผ๋กœ ํ•œ ๋ฒˆ ๋” ํ™˜๊ธฐํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค! ๊ฐœ๋ฐœ ์ˆœ์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์•„์š” ๐Ÿ™‚ Storyboard ์—์„œ TableView ์ถ”๊ฐ€ํ•˜๊ธฐ TableView ๋‚ด์— TableCell ๊ตฌ์„ฑ ๋งŒ๋“ค๊ธฐ CustomCell ํด๋ž˜์Šค ๋งŒ๋“ค๊ณ  ์—ฐ๊ฒฐํ•˜๊ธฐ TableView Protocol ์ค€์ˆ˜ํ•˜๊ธฐ ์•ฑ ์‹คํ–‰ํ•˜๊ธฐ 1. Storyboard ์—์„œ TableView ์ถ”๊ฐ€ํ•˜๊ธฐ ์Šคํ† ๋ฆฌ๋ณด๋“œ๋ฅผ ์ด์šฉํ•ด์„œ UI ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. TableView ์™€ TableViewCell ์„ ์ถ”๊ฐ€ํ•ด์ค๋‹ˆ๋‹ค! 2. TableView ๋‚ด์— TableCell ๊ตฌ์„ฑ ๋งŒ๋“ค๊ธฐ Table View.. 2021. 3. 1.
[iOS/Swift] TableView ๋ฅผ ์œ„ํ•œ Protocol :: Datasource, Delegate TableView ๋ฅผ ์œ„ํ•œ Protocol UITableView ๋ฅผ ์œ„ํ•œ Protocol ์€ UITableViewDataSource, UITableViewDelegate ๊ฐ€ ์žˆ๋‹ค. ์—ฌ๊ธฐ์„œ Protocol ์€ TableView๋ฅผ ์ด์šฉํ•˜๊ธฐ ์œ„ํ•ด ํ•ด์•ผํ•  ์ผ๋“ค์˜ ๋ชฉ๋ก, ์ฆ‰ ๊ตฌํ˜„ํ•ด์•ผํ•  method ๋“ค์ด๋‹ค. protocol ์ค€์ˆ˜๋Š” ํด๋ž˜์Šค๊ฐ„ ์ƒ์†์„ ํ•˜๋“ฏ์ด ์ž‘์„ฑํ•ด์ฃผ๋ฉด ๋œ๋‹ค. UITableViewDataSource protocol ์˜ ๊ฒฝ์šฐ, ํ•„์ˆ˜ ๊ตฌํ˜„ ํ•จ์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š์œผ๋ฉด, ์•„๋ž˜์™€ ๊ฐ™์€ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. Fix ๋ฅผ ๋ˆ„๋ฅด๋ฉด ์ž๋™์œผ๋กœ ์ถ”๊ฐ€ํ•ด์ค€๋‹ค. extension BountyViewController: UITableViewDataSource { } UITableViewDataSource protocol UITableVie.. 2021. 3. 1.
[iOS/Swift] TableView ์˜ ๊ธฐ์ดˆ :: UITableView, UITableViewCell UITableView class UITableView : UIScrollView ๐Ÿ’กA view that presents data using rows arranged in a single column. UITableView ๋Š” ํ•˜๋‚˜์˜ ์—ด์„ ๊ฐ–๋Š” ์—ฌ๋Ÿฌ๊ฐœ์˜ ํ–‰์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œํ˜„ํ•˜๋Š” View ์ด๋‹ค. UIScrollView ๋ฅผ ์ƒ์†๋ฐ›์€ ํด๋ž˜์Šค์ด๋ฏ€๋กœ, ์ˆ˜์ง์œผ๋กœ ์Šคํฌ๋กค์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ํ•˜๋‚˜์˜ ๊ธด ๋ฆฌ์ŠคํŠธ๋ฅผ ๋ณด์—ฌ์ค„ ์ˆ˜๋„ ์žˆ๊ณ , ๊ด€๋ จ๋œ rows ๋ฅผ ๊ทธ๋ฃน์ง€์–ด ๋ณด์—ฌ์ค„ ์ˆ˜๋„ ์žˆ๋‹ค. ์‚ฌ์ง„์˜ Contacts app ์„ ๋ณด๋ฉด, ์•ŒํŒŒ๋ฒณ ์ˆœ์œผ๋กœ ๊ทธ๋ฃน์ง€์–ด์ ธ ์žˆ๊ณ  Settings app ๋„ title ์€ ์—†์ง€๋งŒ ๊ทธ๋ฃน์ง€์–ด์ ธ ์žˆ๋‹ค. Table view ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๊ณ„์ธต์ ์ธ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์•ฑ์—์„œ ์ด์šฉ๋˜๋ฉฐ, navigation view co.. 2021. 3. 1.
[iOS/Swift] Launch Screen :: ์•ฑ์˜ ์‹œ์ž‘ ํ™”๋ฉด Launch screen Launch Screen ์€ ์•ฑ์ด ์‹œ์ž‘๋  ๋•Œ ๋‚˜ํƒ€๋‚ฌ๋‹ค๊ฐ€ ์•ฑ์˜ ์ฒซ๋ฒˆ์งธ ํ™”๋ฉด์œผ๋กœ ๋น ๋ฅด๊ฒŒ ์ „ํ™˜๋œ๋‹ค. ์•ฑ์ด ์‹คํ–‰๋˜๊ณ  ์‚ฌ์šฉ๋  ์ค€๋น„๊ฐ€ ๋˜์—ˆ์Œ์„ ์•Œ๋ ค์ฃผ๋Š” ์—ญํ• ์„ ํ•˜๋ฉฐ, ์•ฑ์ด ๋น ๋ฅด๊ณ  ๋ฐ˜์‘์ ์ด๋ผ๋Š” ์ธ์ƒ์„ ์ฃผ๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋œ๋‹ค. ๊ฐ€์ด๋“œ์—์„œ ์‹œ๊ฐ์ ์ธ ํšจ๊ณผ๋ฅผ ์ฃผ๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋ผ๊ณ  ํ•œ๋‹ค. ์•ˆ๋“œ๋กœ์ด๋“œ ๊ฐœ๋ฐœ์‹œ์—๋Š” Splash screen ์ด๋ผ๊ณ  ๋ถˆ๋ €๋Š”๋ฐ, iOS ์—์„œ๋Š” Launch Screen ์ด๋ผ๊ณ  ๋ถ€๋ฅด๋Š” ์ ์ด ๋‹ค๋ฅด๋‹ค. Launch screen in Xcode Xcode ํ”„๋กœ์ ํŠธ๋Š” launch screen ์„ ์œ„ํ•ด launch storyboard ๋ฅผ ์ œ๊ณตํ•œ๋‹ค. ์œ ์ €๊ฐ€ ์•ฑ์„ ์ฒ˜์Œ ์‹คํ–‰ํ–ˆ์„ ๋•Œ, ์‹œ์Šคํ…œ์€ ์•ฑ์˜ UI๋ฅผ ํ™”๋ฉด์— ๋ณด์—ฌ์ค„ ์ค€๋น„๊ฐ€ ๋  ๋•Œ๊นŒ์ง€ launch storyboard ๋ฅผ ๋ณด์—ฌ์ค€๋‹ค. ๋งŒ.. 2021. 2. 21.
728x90