๋ฐ˜์‘ํ˜•

iOS/Swift 46

[ Swift ] ๊ณ ์ฐจํ•จ์ˆ˜ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ •๋ฆฌํ•ด๋ณด๊ธฐ ( Map, Filter, Reduce )

์•ˆ๋…•ํ•˜์„ธ์š”~ ์˜ค๋Š˜์€ ๊ณ ์ฐจํ•จ์ˆ˜์— ๋Œ€ํ•ด์„œ ์ •๋ฆฌํ•ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค : ) ๊ณ ์ฐจํ•จ์ˆ˜ ๊ณ ์ฐจ ํ•จ์ˆ˜๋Š” ๋‹ค๋ฅธ ํ•จ์ˆ˜๋ฅผ ์ธ์ž๋กœ ๋ฐ›๊ฑฐ๋‚˜ ํ•จ์ˆ˜ ์‹คํ–‰์˜ ๊ฒฐ๊ณผ๋ฅผ ํ•จ์ˆ˜๋กœ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค. Swift์˜ ํด๋กœ์ €๋Š” ์ผ๊ธ‰ ๊ฐ์ฒด์ด๊ธฐ ๋•Œ๋ฌธ์— ํ•จ์ˆ˜์˜ ์ „๋‹ฌ ์ธ์ž๋กœ๋„ ์ „๋‹ฌ์ด ๊ฐ€๋Šฅํ•˜๋ฉฐ ๊ฒฐ๊ด๊ฐ’์œผ๋กœ ๋ฐ˜ํ™˜์ด ๋‹น์—ฐํžˆ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์ข…๋ฅ˜ map, filter, reduce, forEach, compactMap, flatMap ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋Š” ๊ณ ์ฐจ ํ•จ์ˆ˜ 3๊ฐ€์ง€ 1. Map Returns an array containing the results of mapping the given closure over the sequence’s elements. ๊ธฐ์กด์˜ ์ปจํ…Œ์ด๋„ˆ์˜ ์š”์†Œ์— ๋Œ€ํ•ด ์ •์˜ํ•œ ํด๋กœ์ €๋กœ ๋งคํ•‘ํ•œ ๊ฒฐ๊ณผ๋ฅผ ์ƒˆ๋กœ์šด ์ปจํ…Œ์ด๋„ˆ๋กœ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ..

iOS/Swift 2022.06.22

[swift] ์ฑ„ํŒ… UI ๊ตฌํ˜„ํ•ด๋ณด๊ธฐ(2)

[swift] ์ฑ„ํŒ… UI๋ฅผ ๋งŒ๋“ค์–ด๋ด…์‹œ๋‹ค!(1) ์•ˆ๋…•ํ•˜์„ธ์œ ~ ( ์˜ค๋Š˜ ์ด ์ธํŠธ๋กœ๋กœ ๋†€๋ฆผ์„ ๋ฐ›์•˜๋‹ต๋‹ˆ๋‹ค... ) ์˜ค๋Š˜์€ ์ฑ„ํŒ… UI๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ์ ์–ด๋ณด๋ ค๊ณ  ํ•ด์š”! ๋ช‡ ๊ฐœ์˜ ํฌ์ŠคํŒ…์ด ๋ ์ง€๋Š” ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ ์ผ๋‹จ ์‹œ์ž‘ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹นใ…Žใ…Ž ์ฑ„ํŒ… ์˜์ƒ pooh-footprints.tistory.com [ ์ฒซ ๋ฒˆ์งธ ํฌ์ŠคํŒ… ์ฐธ๊ณ  โฌ† ] ์ด์ „ ํฌ์ŠคํŒ…์—์„œ๋Š” ์…€์„ ๋“ฑ๋กํ•˜๊ณ  ํ™•์ธ๋งŒ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ์ ์šฉํ•ด ๋ดค๋‹ค๋ฉด ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” (1) ๋ฉ”์‹œ์ง€๋ฅผ ์ฃผ๊ณ ๋ฐ›์„ ๋•Œ, ๊ฐ€์žฅ ์ตœ๊ทผ ์ฃผ๊ณ ๋ฐ›์€ ๊ฒƒ์ด ํ•˜๋‹จ์— ์˜ฌ ์ˆ˜ ์žˆ๊ฒŒ ์ ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ• (2) ๋ฉ”์‹œ์ง€๋ฅผ ์ฃผ๊ณ  ๋ฐ›์„ ๋•Œ, ์ž๋™์œผ๋กœ ๋งˆ์ง€๋ง‰์— ์ฃผ๊ณ ๋ฐ›์€ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๊ฒŒ ์Šคํฌ๋กค์˜ ์œ„์น˜๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๋ฐฉ๋ฒ• ์œ„์˜ ๋‘๊ฐ€์ง€๋ฅผ ์ •๋ฆฌํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์• ํ”Œ ๊ฐœ๋ฐœ์ž ๋ฌธ์„œ๋ฅผ ๋จผ์ € ์‚ดํŽด๋ด…์‹œ๋‹ค. Apple Developer Doc..

iOS/Swift 2022.03.09

[swift] ์ฑ„ํŒ… UI ๊ตฌํ˜„ํ•ด๋ณด๊ธฐ(1)

์•ˆ๋…•ํ•˜์„ธ์š”~ ์˜ค๋Š˜์€ ์ฑ„ํŒ… UI๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ์ ์–ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค : ) ๋ช‡ ๊ฐœ์˜ ํฌ์ŠคํŒ…์ด ๋ ์ง€๋Š” ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ ์ผ๋‹จ ์‹œ์ž‘ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ฑ„ํŒ… ์˜์ƒ ์ œ๊ฐ€ ๊ตฌํ˜„ํ•œ ์ฑ„ํŒ… UI๋Š” ์œ„์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. TableView์™€ TableViewCell TableView - ์ฑ„ํŒ… UI๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ฐพ๋‹ค ๋ณด๋ฉด ๊ฐ„ํ˜น CollectionView๋ฅผ ์ด์šฉํ•˜์‹  ๋ถ„๋“ค๋„ ๊ณ„์‹œ๋˜๋ฐ ์ €๋Š” TableView๋ฅผ ํ™œ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. TableVIewCell - ๊ฐ™์€ Cell์„ ์ด์šฉํ•ด ๊ตฌํ˜„ํ•˜์‹  ๋ถ„๋“ค๋„ ์žˆ์—ˆ๋Š”๋ฐ ์ €์˜ ๊ฒฝ์šฐ์—๋Š” ์ž์‹ ์ด ๋ณด๋‚ด๋Š” ์ฑ„ํŒ…๊ณผ ์ƒ๋Œ€๊ฐ€ ๋ณด๋‚ด๋Š” ์ฑ„ํŒ… ๋‘ ๊ฐ€์ง€์˜ TableViewCell์„ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” TableViewCell์„ ๋งŒ๋“ค๊ณ  TableView์— ์ ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ์ ์–ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. 1. TableVie..

iOS/Swift 2022.03.03

[swift] ๋ฒ„ํŠผํด๋ฆญ ์‹œ ๋“œ๋กญ๋‹ค์šด๋˜๋Š” ๋ทฐ๋ฅผ ๋งŒ๋“ค๊ธฐ

์•ˆ๋…•ํ•˜์„ธ์š”~ ์˜ค๋Š˜์€ ํ”„๋กœ์ ํŠธ์—์„œ ์‚ฌ์šฉํ–ˆ๋˜ ๋“œ๋กญ๋‹ค์šด ๋ทฐ์— ๋Œ€ํ•ด์„œ ์ •๋ฆฌํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค : ) ๊ตฌํ˜„ํ–ˆ๋˜ ๋“œ๋กญ๋‹ค์šด ๋ทฐ๋Š” ๋‹ค์Œ์˜์ƒ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์‹คํ–‰ํ™”๋ฉด ์˜์ƒ ์„ค๋ช… ๋‹ค๋ฅธ ์œ ์ €์™€์˜ ์ฑ„ํŒ…ํ™”๋ฉด์—์„œ ๋ฉ”๋‰ด๋ฒ„ํŠผ์„ ํด๋ฆญํ•  ์‹œ ์œ ์ € ์‹ ๊ณ , ์•ฝ์† ์ทจ์†Œ, ๋ฆฌ๋ทฐ ๋“ฑ๋ก ์„ธ ๊ฐ€์ง€ ๋ฒ„ํŠผ์ด ๋‚ด๋ ค์˜ต๋‹ˆ๋‹ค. ๋“œ๋กญ๋‹ค์šด ๊ตฌํ˜„ํ•˜๊ธฐ ์ฒซ ๋ฒˆ์งธ , ๋“œ๋กญ ๋‹ค์šด ํ•  ๋ทฐ๋ฅผ ๋งŒ๋“ค๊ธฐ ๊ฐ€์žฅ ๋จผ์ € ๋“œ๋กญ๋‹ค์šดํ•  ๋ทฐ๋ฅผ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ๊ฐ์˜ ๋ฒ„ํŠผ์€ x ์ขŒํ‘œ๋ฅผ ๋น„์œจ์— ๋”ฐ๋ผ ์„ค์ •ํ•ด์ฃผ์—ˆ๋Š”๋ฐ ๊ฐ€์šด๋ฐ ์žˆ๋Š” ๊ฒƒ์„ ์ค‘์•™์— ๋‘๊ณ  ์–‘์ชฝ์œผ๋กœ ๋น„์œจ์— ๋งž๊ฒŒ ๋ฐฐ์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค. final class DropDownView: UIView { // ์‹ ๊ณ  ๋ฒ„ํŠผ let reportButton = UIButton().then { $0.configuration = .menuStyle(title: "์ƒˆ์‹น ์‹ ๊ณ ", im..

iOS/Swift 2022.03.02

[swift] UILabel intrinsicContentSize ํ™œ์šฉ๋ฐฉ๋ฒ•

์•ˆ๋…•ํ•˜์„ธ์š”~ ์˜ค๋Š˜์€ UILabel์˜ intrinsicContentSize์— ๋Œ€ํ•ด์„œ ์ž‘์„ฑํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค : ) ์ง„ํ–‰ํ•˜๊ณ  ์žˆ๋Š” ํ”„๋กœ์ ํŠธ์—์„œ CollectionViewCell์˜ ํฌ๊ธฐ๋ฅผ Cell์•ˆ์— ์žˆ๋Š” Label์˜ ํ…์ŠคํŠธ ๊ธธ์ด, ํฐํŠธ์˜ ์‚ฌ์ด์ฆˆ์— ๋”ฐ๋ผ ๋™์ ์œผ๋กœ ์ฃผ๊ณ  ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ๋ฐฉ๋ฒ•๋“ค ์ค‘์—์„œ IntrinsicContentSize๋ฅผ ์•Œ๊ฒŒ ๋˜์—ˆ๊ณ  ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•œ์ง€ ๋ฐฉ๋ฒ•์„ ๊ณต์œ ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. intrinsicContentSize - ์ฝ˜ํ…์ธ ์˜ ๋ณธ์งˆ์ ์ธ ์‚ฌ์ด์ฆˆ UILabel ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ UIButton, UISwitch, UITextField์—๋„ ์žˆ๋Š” ํ”„๋กœํผํ‹ฐ๋กœ ํ•ด๋‹น ๊ฐ์ฒด์˜ Width์™€ Height์˜ ๊ณ ์œณ๊ฐ’์œผ๋กœ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. UIView์—๋Š” ์—†์œผ๋ฉฐ UISlider์—๋Š” Width๊ฐ’๋งŒ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. AutoLayou..

iOS/Swift 2022.02.23

[swift] NavigationController์˜ setViewController ์‚ฌ์šฉ๋ฐฉ๋ฒ•

์•ˆ๋…•ํ•˜์„ธ์š”~ ์˜ค๋Š˜์€ ๊ฐœ๋ฐœ ์ค‘์— ๊ฒช์—ˆ๋˜ ์ด์Šˆ์— ๋Œ€ํ•ด์„œ ์ •๋ฆฌํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค : ) ์ด์Šˆ๊ฐ€ ์–ด๋””์„œ ์–ด๋–ป๊ฒŒ ๋ฐœ์ƒํ–ˆ๋Š”์ง€ ์Šคํฌ๋ฆฐ์ƒท์„ ๋ณด๋ฉด์„œ ์„ค๋ช…๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค. ํ™ˆ์—์„œ ์šฐ์ธก ํ•˜๋‹จ ๋ฒ„ํŠผ(์ฐพ๊ธฐ)์„ ๋ˆ„๋ฅด๋ฉด ์ทจ๋ฏธ ์ž…๋ ฅ ํ™”๋ฉด์œผ๋กœ, ์ƒˆ์‹น ์ฐพ๊ธฐ๋ฅผ ๋ˆ„๋ฅด๊ฒŒ ๋˜๋ฉด ์ฃผ๋ณ€ ์นœ๊ตฌ๋ฅผ ์ฐพ๋Š” ํ”Œ๋กœ์šฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ™ˆ ์ทจ๋ฏธ์ž…๋ ฅ ์นœ๊ตฌ์ฐพ๊ธฐ ์ด๋ฅผ ์˜์ƒ์œผ๋กœ ํ™•์ธํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ ์ €์˜ ์ด์Šˆ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ƒํ™ฉ์—์„œ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์ธ ํ”Œ๋กœ์šฐ 1. ์ƒˆ์‹น ์ฐพ๊ธฐ ํ™”๋ฉด์—์„œ ๋’ค๋กœ์ด๋™ํ•˜๋ฉด ํ™ˆ์œผ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. ( ์•„์ง ์ƒˆ์‹น์„ ์ฐพ์ง€ ์•Š์€ ์ƒํƒœ ) 2. ๋งŒ์•ฝ ์ƒˆ์‹น์ฐพ๊ธฐ ์ƒํƒœ์ผ ๊ฒฝ์šฐ ์ฐพ๊ธฐ ๋ฒ„ํŠผ์„ ํด๋ฆญํ–ˆ์„ ๋•Œ ๋ฐ”๋กœ ์ƒˆ์‹น ์ฐพ๊ธฐ ํ™”๋ฉด์œผ๋กœ ์ด๋™ ์ƒˆ์‹น์ฐพ๊ธฐ ํ™”๋ฉด์—์„œ ์ทจ๋ฏธ๋ฅผ ๋ณ€๊ฒฝํ•˜๊ธฐ ์œ„ํ•ด ์ทจ๋ฏธ ๋ณ€๊ฒฝ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๊ฒŒ ๋˜๋ฉด ์ทจ๋ฏธ ๋ณ€๊ฒฝํ™”๋ฉด์ด ์•„๋‹Œ ํ™ˆํ™”๋ฉด์œผ๋กœ ์ด๋™์ด ๋˜๊ณ  ์žˆ์—ˆ..

iOS/Swift 2022.02.18

[swift] TableViewCell/CollectionViewCell ์…€์•ˆ์˜ ๋ฒ„ํŠผ์— ์ด๋ฒคํŠธ๋ฅผ ์ฃผ๋Š” ๋ฐฉ๋ฒ•

์•ˆ๋…•ํ•˜์„ธ์š”~ ์˜ค๋Š˜์€ Cell์•ˆ์— ์žˆ๋Š” ๋ฒ„ํŠผ์—๊ฒŒ ์ด๋ฒคํŠธ๋ฅผ ์ค„ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ์ž‘์„ฑํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค : ) ์…€์•ˆ์— ์žˆ๋Š” ๋ฒ„ํŠผ์— ์ด๋ฒคํŠธ๋ฅผ ์ฃผ๋Š” ๋ฐฉ๋ฒ•์—๋Š” Tag ๋ฅผ ํ™œ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•, Delegate๋ฅผ ํ™œ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ• ๋“ฑ ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ๊ทธ์ค‘์—์„œ ์˜ค๋Š˜ ์†Œ๊ฐœํ•  ๋ฐฉ๋ฒ•์€ ํด๋กœ์ €๋ฅผ ์ด์šฉํ•œ ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. 1. ๋จผ์ € ์•Œ์•„๋‘์–ด์•ผ ํ•  ๊ฒƒ - ์…€ ์•ˆ์— ๋ฒ„ํŠผ๊ณผ ๊ฐ™์ด ์œ ์ €์™€์˜ ์ธํ„ฐ๋ ‰์…˜์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์…€์˜ ContentView์— ํ•ด๋‹น ๋ทฐ๋ฅผ ๋„ฃ์–ด์ค˜์•ผ ํ•ฉ๋‹ˆ๋‹ค. //TableViewCell class FindFriendsTableViewCell: UITableViewCell { static let identifier = "FindFriendsTableViewCell" let infoView = MyInfoView() o..

iOS/Swift 2022.02.17

[swift] Timer๋ฅผ ํ™œ์šฉํ•œ API ๋ฐ˜๋ณตํ˜ธ์ถœ ๋ฐฉ๋ฒ•

์•ˆ๋…•ํ•˜์„ธ์š”~ ์˜ค๋Š˜์€ Timer๋ฅผ ์ด์šฉํ•ด์„œ API๋ฅผ ๋ฐ˜๋ณต ํ˜ธ์ถœํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ์ •๋ฆฌํ•ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค : ) ์ง„ํ–‰ํ•˜๊ณ  ์žˆ๋Š” ํ”„๋กœ์ ํŠธ์—์„œ ๋ฐ˜๋ณต์ ์œผ๋กœ ์œ ์ €์˜ ์ƒํƒœ๋ฅผ ํ™•์ธํ•ด์•ผ ํ•˜๋Š” ๋กœ์ง์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๋– ์˜ค๋ฅด๋Š” ๋ฐฉ๋ฒ•์ด Timer ๋ฐ–์— ์—†์—ˆ๊ณ  ์—ด์‹ฌํžˆ ์ฐพ์•„๊ฐ€๋ฉฐ ์ ์šฉํ•œ ๋‚ด์šฉ์„ ๊ธฐ๋กํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋จผ์ € Timer์— ๋Œ€ํ•ด์„œ ๊ฐ„๋žตํžˆ ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜์˜ ์• ํ”Œ ๊ฐœ๋ฐœ์ž ๋ฌธ์„œ๋ฅผ ์ฐธ๊ณ ํ•ด์ฃผ์‹œ๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. Apple Developer Documentation developer.apple.com Timer๋Š” ํŠน์ • ์‹œ๊ฐ„ ๊ฐ„๊ฒฉ์ด ๊ฒฝ๊ณผํ•œ ํ›„ ์‹คํ–‰๋˜๊ฒŒ ํ•˜๊ณ  ์ง€์ •๋œ ๋ฉ”์‹œ์ง€๋ฅผ ๋Œ€์ƒ ๊ฐ์ฒด์—๊ฒŒ ๋ณด๋‚ด๋Š” ๊ฒƒ์ด๋ผ๊ณ  ๋˜์–ด์žˆ์Šต๋‹ˆ๋‹ค. ์กฐ๊ธˆ ๋” ์Šคํฌ๋กค์„ ๋‚ด๋ฆฌ๋‹ค ๋ณด๋ฉด ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๋Š”์ง€์—๋Œ€ํ•œ ๋‚ด์šฉ์ด ๋‚˜์˜ต๋‹ˆ๋‹ค. ์ €๋Š” ์†Œ๊ฐœํ•ด์ค€ ๋ฉ”์„œ๋“œ ์ค‘์—์„œ schedu..

iOS/Swift 2022.02.16

[swift] SnapKit์— ๋Œ€ํ•ด์„œ ( + update Constraints ์ด์Šˆ)

์•ˆ๋…•ํ•˜์„ธ์š”~ ์˜ค๋Š˜์€ ์ œ๊ฐ€ ์• ์šฉํ•˜๊ณ  ์žˆ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ธ SnapKit์— ๋Œ€ํ•ด์„œ ๊ฐ„๋‹จํžˆ ์ •๋ฆฌํ•˜๊ณ  ๋ฐœ์ƒํ–ˆ๋˜ ์ƒ๊ฒผ๋˜ ์ด์Šˆ๋ฅผ ์ •๋ฆฌํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. SnapKit์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ธฐ ์ด์ „์— Swift์—์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ ˆ์ด์•„์›ƒ์˜ ์ œ์•ฝ์กฐ๊ฑด์„ ์ฃผ๊ธฐ ์œ„ํ•ด์„œ๋Š” Anchor์˜ constraint๋ฅผ ์ด์šฉํ•ด ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ๊ณ„์‹ค ๊ฒ๋‹ˆ๋‹ค. var testButton = UIButton() // translatesAutoresizingMaskIntoConstraints์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ture๋กœ ์„ค์ •๋˜์–ด์žˆ์Šต๋‹ˆ๋‹ค. // ์ด๋Š” ์ž๋™์œผ๋กœ ์ œ์•ฝ์„ ๋ฐ˜๋ณ€ํ™˜ํ•˜๋Š” ๊ธฐ๋Šฅ์œผ๋กœ ์ œ๊ฐ€ ์ค€ ์ œ์•ฝ์กฐ๊ฑด์„ ๋”ฐ๋ฅด๊ธฐ ์œ„ํ•ด์„œ๋Š” false๋กœ ์„ค์ •ํ•ด์•ผํ•˜์ฃ ! testButton.translatesAutoresizingMaskIntoConstraints = fale view.ad..

iOS/Swift 2022.02.15

[Swift] UICollectionView์—์„œ Cell์„ ์™ผ์ชฝ ์ •๋ ฌ(Left Alignment) ํ•˜๋Š” ๋ฐฉ๋ฒ•

์•ˆ๋…•ํ•˜์„ธ์š”~ ์˜ค๋Š˜์€ CollectionView์—์„œ ์…€๋“ค์„ ์™ผ์ชฝ์ •๋ ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด๋‹ค๊ฐ€ ๊ดœ์ฐฎ์€ ๋ฐฉ๋ฒ•์ด ์žˆ์–ด ์ •๋ฆฌํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋จผ์ € ์‚ฌ์šฉํ•˜๊ฒŒ ๋  UICollectionViewFlowLayout์— ๋Œ€ํ•ด์„œ ๊ฐ„๋žตํžˆ ์†Œ๊ฐœํ•˜๊ณ  ์‹œ์ž‘ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. FlowLayout UICollectionViewFlowLayout ํด๋ž˜์Šค๋ฅผ ์ด์šฉํ•˜์—ฌ ์…€์„ ์›ํ•˜๋Š” ํ˜•ํƒœ๋กœ ์ •๋ ฌํ•  ์ˆ˜ ์žˆ๋‹ค. FlowLayout์€ ๋ ˆ์ด์•„์›ƒ ๊ฐ์ฒด๊ฐ€ ์…€์„ ์„ ํ˜• ๊ฒฝ๋กœ์— ๋ฐฐ์น˜ํ•˜๊ณ  ์ตœ๋Œ€ํ•œ ๋งŽ์€ ์…€์„ ์ฑ„์šฐ๋Š” ๊ฒƒ์„ ๋งํ•ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ ํ–‰์—์„œ ๋ ˆ์ด์•„์›ƒ ๊ฐ์ฒด์˜ ๊ณต๊ฐ„์ด ๋ถ€์กฑํ•˜๋ฉด ์ƒˆ๋กœ์šด ํ–‰์„ ์ƒ์„ฑํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์—ญํ•  ํ”Œ๋กœ์šฐ ๋ ˆ์ด์•„์›ƒ ๊ฐ์ฒด๋ฅผ ์ž‘์„ฑํ•ด ์ปฌ๋ ‰์…˜๋ทฐ์˜ ๋ ˆ์ด์•„์›ƒ ๊ฐ์ฒด๋กœ ์ง€์ • ์…€์˜ ๋„ˆ๋น„์™€ ๋†’์ด๋ฅผ ๊ตฌ์„ฑ ์…€์˜ ๊ฐ„๊ฒฉ์„ ์กฐ์ ˆ ์„น์…˜์˜ ํ—ค๋” ํ˜น์€ ์„น์…˜ ํ‘ธํ„ฐ๋ฅผ ํฌ๊ธฐ๋ฅผ ์ง€์ • ์Šคํฌ๋กค ๋ฐฉํ–ฅ์„ ์„ค์ • ..

iOS/Swift 2022.02.14
๋ฐ˜์‘ํ˜•