Potato
์•ˆ๋…•ํ•˜์„ธ์š”, ๊ฐ์žก๋‹ˆ๋‹ค?๐Ÿฅ” ^___^ ๐Ÿ˜บ github ๋ฐ”๋กœ๊ฐ€๊ธฐ ๐Ÿ‘‰๐Ÿป
๋ฐ˜์‘ํ˜•

Swift/UIKit 6

[UIKit] plist ํŒŒ์ผ ์ด๋™ โš ๏ธ build input file cannot be found

โšซ๏ธ plist ํด๋” ๊ตฌ์กฐ ๋ณ€๊ฒฝ ์›ํ•˜๋Š” ํด๋”๊ตฌ์กฐ์— ๋งž๊ฒŒ plist์˜ ์œ„์น˜๋ฅผ ๋ณ€๊ฒฝํ–ˆ๋‹ค. ๊ทผ๋ฐ ์•„๋งˆ๋„,, ๊ทธ๋ƒฅ ์œ„์น˜๋งŒ ๋ณ€๊ฒฝํ•˜๋ฉด ์—๋Ÿฌ๊ฐ€ ๋‚  ๊ฒƒ์ด๋‹ค! plist๊ฐ€ ์–ด๋””์— ์œ„์น˜ํ•˜๋Š”์ง€, ์•Œ๋ ค์ฃผ์–ด์•ผํ•œ๋‹ค. ^___^,,, ์•Œ์•„์„œ์ข€ํ•˜์ง€!! โšซ๏ธ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์—๋Ÿฌ๊ฐ€ ๋‚  ๊ฒƒ์ด๋‹ค. โš ๏ธ build input file cannot be found ์ด๋Ÿฐ ์—๋Ÿฌ๊ฐ€ ๋‚  ๊ฒƒ์ด๋‹ค. ์•„๋ž˜ ๊ฒฝ๋กœ๋กœ ๋“ค์–ด๊ฐ€์„œ plist์˜ ์ด๋™๋œ ๊ฒฝ๋กœ๋ฅผ ์•Œ๋ ค์ฃผ์ž. [์™ผ์ชฝ์—์„œ ํ”„๋กœ์ ํŠธ ํด๋ฆญ] - [Build Settings] - [Packaging]์—์„œ Info.plist File์—์„œ ์ˆ˜๋™์œผ๋กœ ๊ฒฝ๋กœ๋ฅผ ๋ฐ”๊ฟ”์ฃผ๋ฉด ๋!

Swift/UIKit 2023.02.02

[UIKit] hitTest(_: with: ) - ํ„ฐ์น˜์ด๋ฒคํŠธ์— ๋ฐ˜์‘ํ•  view ์ฐพ๊ธฐ, first responder

์ด์ „๊ธ€์—์„œ UIResponder์— ๋Œ€ํ•ด์„œ ๊ณต๋ถ€ํ•˜๋‹ค๊ฐ€ hitTest์— ๋Œ€ํ•œ ๊ฐœ๋…์ด ๋“ฑ์žฅํ–ˆ๋‹ค. https://didu-story.tistory.com/286 [UIKit] UIResponder (feat. Responder, Responder Chain, FirstResponder) ์˜ค๋Š˜๋ถ€ํ„ฐ ๋ฏธ๋ผํด ๋ชจ๋‹ ์‹œ๊ฐ„์— 1์ผ 1์œ ์•„์ดํ‚ท ํฌ์ŠคํŒ…์„ ํ•ด๋ณด๋ ค๊ณ ํ•œ๋‹ค. ๊ตฌํ˜„์œ„์ฃผ์˜ ๊ณต๋ถ€๋ฅผ ํ•˜๋‹ค๋ณด๋‹ˆ, ๊ธฐ์ดˆ์ง€์‹์ด ๋„ˆ๋ฌด ๋ถ€์กฑํ•˜๋‹ค๊ณ  ๋Š๊ปด์กŒ๊ณ , UIKit์˜ ๊ตฌ์กฐ๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ํŒŒ์•…ํ•˜๊ณ  ์‹ถ์–ด์„œ ์‹œ์ž‘! ๐Ÿ”ต UIR didu-story.tistory.com โœ… UIKit์€ ๋ทฐ ๊ธฐ๋ฐ˜์˜ hit-testing์„ ์‚ฌ์šฉํ•˜์—ฌ ํ„ฐ์น˜์ด๋ฒคํŠธ๊ฐ€ ์–ด๋””์„œ ๋ฐœ์ƒํ–ˆ๋Š”์ง€ ๊ฒฐ์ •ํ•œ๋‹ค. UIView์˜ hitTest(_:with: ) ๋ฉ”์„œ๋“œ๋Š” view ๊ณ„์ธต์„ ๋Œ์•„๋‹ค๋‹ˆ๋ฉด์„œ ์ด๋ฒคํŠธ๊ฐ€ ..

Swift/UIKit 2022.07.12

[UIKit] UICollectionView, UITableView (๊ณตํ†ต์ ๊ณผ ์ฐจ์ด์ , ์–ธ์ œ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•ด์•ผํ• ๊นŒ)

UIKit์œผ๋กœ ์™„์ „ ์ฒ˜์Œ ๋ทฐ๋ฅผ ๋งŒ๋“ค์–ด์•ผํ•  ๋•Œ, list๋ฅผ ์–ด๋–ป๊ฒŒ ๋งŒ๋“ค์–ด์•ผํ• ์ง€ ๋งŽ์€ ๊ณ ๋ฏผ์„ ํ–ˆ๋‹ค. ๊ณผ์—ฐ TableView๋กœ ํ•ด์•ผํ• ๊นŒ, collectionView๋กœ ํ•ด์•ผํ• ๊นŒ? ์™„์ „ ์Œฉ์ดˆ๋ณด์ด๊ธฐ ๋•Œ๋ฌธ์— ์–ด๋–ค ์ƒํ™ฉ์—์„œ ๋ฌด์—‡์„ ์จ์•ผํ•˜๋Š”์ง€ ์ž˜ ๋ชฐ๋ž์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ •๋ฆฌํ–ˆ๋‹ค! ๐ŸŸฃ ๊ณตํ†ต์  ๋‘˜ ๋‹ค cell ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” View UIScrollView๋ฅผ ์ƒ์†๋ฐ›๋Š” ํด๋ž˜์Šค ๐ŸŸฃ ์ฐจ์ด์  ๐Ÿ‘พ UITableView UITableView๋Š” ํ•œ ๊ฐœ์˜ ์—ด๊ณผ, ์—ฌ๋Ÿฌ๊ฐœ์˜ ํ–‰์„ ๊ฐ€์ง€๊ธฐ ๋•Œ๋ฌธ์— ์ •๋ณด๋ฅผ ‘ํ–‰'์œผ๋กœ๋งŒ ๋‚˜์—ดํ•ด์„œ ๋ณด์—ฌ์ค€๋‹ค.(1์ฐจ์›) ๊ทธ๋ž˜์„œ ์ˆ˜์ง์œผ๋กœ๋งŒ ์Šคํฌ๋กค์ด ๊ฐ€๋Šฅํ•˜๋‹ค. Cell์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ œ๊ณต๋˜๋Š” ์Šคํƒ€์ผ์ด ์กด์žฌํ•œ๋‹ค. ๊ฐ„๋‹จํ•œ ๋ชฉ๋ก์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œํ˜„ํ•  ๋•Œ ์ฃผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค. ๐Ÿ‘พ UICollectionView UICol..

Swift/UIKit 2022.07.10

[UIKit] init(coder: NSCoder), fetalError

๐ŸŸฃ ์˜ˆ์‹œ ์ฝ”๋“œ required init?(coder aDecoder: NSCoder) { fatalError("init(coder:) has not been implemented") } ๐ŸŸฃ ์•ž์—์„œ ๋ฐฐ์šด ๋‚ด์šฉ ์ •๋ฆฌ https://didu-story.tistory.com/288 [UIKit] init(frame: ), init(coder: ) ์ด๋‹ˆ์…œ๋ผ์ด์ € UIKit์„ ์‚ฌ์šฉํ•ด์„œ ์•ฑ์„ ๋งŒ๋“ค ๋•Œ ์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ํ•„์ˆ˜์ ์œผ๋กœ ์ ์–ด์•ผ๋งŒ ํ•œ๋‹ค. ๊ณผ์—ฐ ์ด ์ฝ”๋“œ๊ฐ€ ์˜๋ฏธํ•˜๋Š”๊ฒŒ ๋ญ๊ณ  ์™œ ์ ์–ด์•ผํ• ๊นŒ? ๐ŸŸฃ ์˜ˆ์‹œ์ฝ”๋“œ init(frame: CGRect, data: Data) { self.data = data super.init(frame: f.. didu-story.tistory.com override init(frame: CGRect)..

Swift/UIKit 2022.07.10

[UIKit] init(frame: ), init(coder: ) ์ด๋‹ˆ์…œ๋ผ์ด์ €

UIKit์„ ์‚ฌ์šฉํ•ด์„œ ์•ฑ์„ ๋งŒ๋“ค ๋•Œ ์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ํ•„์ˆ˜์ ์œผ๋กœ ์ ์–ด์•ผ๋งŒ ํ•œ๋‹ค. ๊ณผ์—ฐ ์ด ์ฝ”๋“œ๊ฐ€ ์˜๋ฏธํ•˜๋Š”๊ฒŒ ๋ญ๊ณ  ์™œ ์ ์–ด์•ผํ• ๊นŒ? ๐ŸŸฃ ์˜ˆ์‹œ์ฝ”๋“œ init(frame: CGRect, data: Data) { self.data = data super.init(frame: frame) } required init?(coder: NSCoder) { fatalError("init(coder:) has not been implemented") } ์—ฌ๊ธฐ์„œ ์ง€์ •ํ•ด์ค€ init์€ ๋ญ˜๊นŒ? ๐ŸŸฃ init(frame: ) https://developer.apple.com/documentation/uikit/uiview/1622488-init Apple Developer Documentation developer.apple.com ๐ŸŸช ๊ณต์‹..

Swift/UIKit 2022.07.10

[UIKit] UIResponder (feat. Responder, Responder Chain, FirstResponder)

์˜ค๋Š˜๋ถ€ํ„ฐ ๋ฏธ๋ผํด ๋ชจ๋‹ ์‹œ๊ฐ„์— 1์ผ 1์œ ์•„์ดํ‚ท ํฌ์ŠคํŒ…์„ ํ•ด๋ณด๋ ค๊ณ ํ•œ๋‹ค. ๊ตฌํ˜„์œ„์ฃผ์˜ ๊ณต๋ถ€๋ฅผ ํ•˜๋‹ค๋ณด๋‹ˆ, ๊ธฐ์ดˆ์ง€์‹์ด ๋„ˆ๋ฌด ๋ถ€์กฑํ•˜๋‹ค๊ณ  ๋Š๊ปด์กŒ๊ณ , UIKit์˜ ๊ตฌ์กฐ๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ํŒŒ์•…ํ•˜๊ณ  ์‹ถ์–ด์„œ ์‹œ์ž‘! ๐Ÿ”ต UIResponder xcodeํ”„๋กœ์ ํŠธ๋ฅด ๋งŒ๋“ค๋ฉด AppDelegate์™€ SceneDelegate๋ฅผ ์ฒ˜์Œ์œผ๋กœ ์ ‘ํ•˜๊ฒŒ ๋˜๋Š”๋ฐ, ์ด ๋‘๊ฐœ์˜ ํด๋ž˜์Šค๋Š” ๋™์ผํ•˜๊ฒŒ "UIResponder"๋ฅผ ์ƒ์†๋ฐ›๋Š”๋‹ค. ์šฐ์„  ๊ณต์‹๋ฌธ์„œ๊ฐ€ ์ •์˜ํ•œ ๊ฐœ๋…๋ถ€ํ„ฐ ์ฐจ๊ทผ์ฐจ๊ทผ ์ฝ์–ด๋ณด์ž. https://developer.apple.com/documentation/uikit/uiresponder Apple Developer Documentation developer.apple.com An abstract interface for responding to and ha..

Swift/UIKit 2022.07.07
๋ฐ˜์‘ํ˜•