๋ฐ˜์‘ํ˜•

์ „์ฒด ๊ธ€ 83

[ Git & Github ] Github Action์„ ์ด์šฉํ•ด TestFlight์— ๋ฐฐํฌ์‹œ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ (FORBIDDEN.REQUIRED_AGREEMENTS_MISSING_OR_EXPIRED: A required agreement is missing or has expired.)

์•ˆ๋…•ํ•˜์„ธ์š”~ ์˜ค๋Š˜์€ TestFlight์™€ ๊ด€๋ จํ•ด์„œ ๋ฐฐํฌ ์˜ค๋ฅ˜๊ฐ€ ์žˆ์—ˆ๋˜ ๊ฒƒ์„ ์ •๋ฆฌํ•ด๋‘๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. TestFlight์— ๋ฐฐํฌํ•˜๋ ค๊ณ  ํ•  ๋•Œ, Github Action์—์„œ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋Š”๋ฐ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์—๋Ÿฌ์˜€์Šต๋‹ˆ๋‹ค. FORBIDDEN.REQUIRED_AGREEMENTS_MISSING_OR_EXPIRED: A required agreement is missing or has expired. ์—ฌ๊ธฐ์ €๊ธฐ ์ฐพ์•„๋ณด๋‹ˆ Fastlane์˜ Issue์—์„œ ์ด์œ ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. Cannot Upload to Testflight using Spaceship but working in Transporter · Issue #19750 · fastlane/fastlane New Issue Checklist Updated fast..

Git & Github 2022.06.30

[ Swift ] Realm์—์„œ ๋ฐฐ์—ด์‚ฌ์šฉํ•˜๊ธฐ ( feat.List )

์•ˆ๋…•ํ•˜์„ธ์š”~ ์˜ค๋Š˜์€ Realm์—์„œ ๋ฐฐ์—ด์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ๊ฐ„๋‹จํžˆ ์ •๋ฆฌํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค : ) Realm์—์„œ์˜ ๋ฐฐ์—ด ์‚ฌ์šฉ Realm์—์„œ๋Š” Swift์˜ Array๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์œผ๋ฉฐ Realm ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ์ œ๊ณตํ•˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค์ธ List๋ฅผ ์‚ฌ์šฉํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ์‹œ๋ฅผ ํ†ตํ•ด์„œ ์ •๋ฆฌํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด๋ฆ„๊ณผ ๋‚˜์ด ๊ทธ๋ฆฌ๊ณ  ์ข‹์•„ํ•˜๋Š” ์Œ์‹๋“ค์„ ๋ฆฌ์ŠคํŠธ๋กœ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” '์นœ๊ตฌ'๋ผ๋Š” ์˜ค๋ธŒ์ ํŠธ๋ฅผ ๋งŒ๋“ค์–ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ผ๋‹จ, ์Œ์‹ ๋ชจ๋ธ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. class Food: Object { @Persisted var name: String convenience init(name: String) { self.init() self.name = name } } ์ด ์Œ์‹ ๋ชจ๋ธ์„ ๋ฆฌ์ŠคํŠธ์˜ ํ˜•ํƒœ๋กœ ๊ฐ–๊ณ  ์žˆ๊ธฐ ์œ„ํ•ด์„œ๋Š” ์•ž์„œ ๋งํ•œ ..

iOS/Swift 2022.06.28

[ Swift ] ์ •๊ทœ์‹์„ ์‚ฌ์šฉํ•ด๋ณด์ž ( UITextField, UITextView )

์•ˆ๋…•ํ•˜์„ธ์š” ~ ์˜ค๋Š˜์€ ์ •๊ทœ์‹์— ๋Œ€ํ•ด์„œ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ •๋ฆฌํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค : ) ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋‹ค ๋ณด๋ฉด ์ด๋ฉ”์ผ, ๋น„๋ฐ€๋ฒˆํ˜ธ ๋“ฑ๊ณผ ๊ฐ™์ด ํŠน์ •ํ•œ ๊ทœ์น™์„ ํ•„์š”๋กœ ํ•˜๋Š” ์ž…๋ ฅ์ด ์กด์žฌํ•  ์ˆ˜๋ฐ–์— ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿด ๋•Œ ํ•„์š”ํ•œ ๊ฒŒ ๋ฐ”๋กœ ์ •๊ทœ์‹์ž…๋‹ˆ๋‹ค. ์ด๋ชจํ‹ฐ์ฝ˜์„ ๋ฐฉ์ง€ํ•˜๋Š” ์ •๊ทœ์‹์„ ์ ์–ด๋ณด๋ฉด์„œ ์ •๋ฆฌํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ •๊ทœ์‹ ๊ฐ€์žฅ ๋จผ์ € ํŠน์ •ํ•œ ์กฐ๊ฑด(์—ฌ๊ธฐ์„œ๋Š” ์ด๋ชจํ‹ฐ์ฝ˜ ๋ฐฉ์ง€)์„ ํ†ตํ•ด Bool ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. func isCorrect() -> Bool { do{ let regex = try NSRegularExpression(pattern: "^[a-zA-Z๊ฐ€-ํžฃใ„ฑ-ใ…Žใ…-ใ…ฃ\\s]$", options: .caseInsensitive) if let _ = regex.firstMatch(in: self, options: NS..

iOS/Swift 2022.06.27

[ Git & Github ] Git์— ๊ด€ํ•œ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์ด์Šˆ์ฒ˜๋ฆฌ ( ๋ธŒ๋žœ์น˜ ๋ณต๊ตฌ, ์ถ”์ ํ•˜๋Š” ์›๊ฒฉ ๋ธŒ๋žœ์น˜ ๋ณ€๊ฒฝ, ๋ธŒ๋žœ์น˜ ์ด๋ฆ„ ๋ณ€๊ฒฝ )

์•ˆ๋…•ํ•˜์„ธ์š”~ ์˜ค๋Š˜์€ git์„ ์‚ฌ์šฉํ•˜๋ฉด์„œ ๋ฐœ์ƒํ–ˆ๋˜ ์ด์Šˆ๋“ค์„ ์ •๋ฆฌํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค : ) 1. ์ œ๊ฑฐํ•œ ๋ธŒ๋žœ์น˜ ๋ณต๊ตฌ PR์„ ๋ณด๋‚ด๊ณ ๋‚˜์„œ ๊ธฐ๋‹ค๋ฆฌ๋˜ ์ค‘์— ์‚ฌ์ˆ˜๊ป˜์„œ ํ™•์ธํ•œ ์ดํ›„ Merge๊ฐ€ ๋œ ๊ฑธ๋กœ ์ฐฉ๊ฐํ•ด ์Šต๊ด€๋Œ€๋กœ ๋กœ์ปฌ ๋ธŒ๋žœ์น˜์™€ ์›๊ฒฉ ๋ธŒ๋žœ์น˜ ๋ชจ๋‘ ์ œ๊ฑฐํ•ด ๋ฒ„๋ฆฐ ๋‚ ์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ž‘์—…ํ•œ ๊ฒƒ๋“ค์ด ํœด์ง€์กฐ๊ฐ์ด ๋˜์–ด๋ฒ„๋ ธ์Šต๋‹ˆ๋‹ค : ( ๊ทธ๋ž˜์„œ ์ œ๊ฑฐํ•œ ๋ธŒ๋žœ์น˜๋ฅผ ๋ณต๊ตฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์ฐพ์•„๋ดค์Šต๋‹ˆ๋‹ค. ๊ฐ€์žฅ ๋จผ์ € ์•„๋ž˜์˜ ์ปค๋งจ๋“œ๋ฅผ ํ„ฐ๋ฏธ๋„์— ์ž…๋ ฅํ•˜๋ฉด git reflog ์ตœ๊ทผ์— ์ž‘์—…ํ•œ ๋‚ด์šฉ๋“ค์ด ๋ชจ๋‘ ๋ณด์ž…๋‹ˆ๋‹ค. HEAD@{์ˆซ์ž}์˜ ํ˜•ํƒœ๋กœ ํ—ค๋“œ ๋ฒˆํ˜ธ๊ฐ€ ๋‚˜์™€์žˆ๋Š”๋ฐ ๋ณต๊ตฌํ•˜๊ณ ์ž ํ•˜๋Š” ํ—ค๋“œ ๋ฒˆํ˜ธ๋ฅผ ๋ฉ”๋ชจํ•ด ๋‘” ๋‹ค์Œ git checkout -b [branch ์ด๋ฆ„] HEAD@{์ˆซ์ž} ์ •๋ง ๋‹คํ–‰์ด๋„ ์œ„์˜ ์ปค๋งจ๋“œ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ๋ณต๊ตฌ๊ฐ€ ์™„๋ฃŒ๋ฉ๋‹ˆ๋‹ค. 2. ์ถ”์ ํ•˜๊ณ ์žˆ๋Š” ์›..

Git & Github 2022.06.24

[ Git & Github ] Local ๋ฐ Origin Branch ์ œ๊ฑฐํ•˜๊ธฐ ( error: failed to push some refs to ํ•ด๊ฒฐ๋ฐฉ๋ฒ• )

์•ˆ๋…•ํ•˜์„ธ์š” ~ ์˜ค๋Š˜์€ ๋ธŒ๋žœ์น˜๋ฅผ ์ œ๊ฑฐํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ์ž‘์„ฑํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค : ) ํšŒ์‚ฌ์˜ ํ”„๋กœ์ ํŠธ์˜ ๊ณผ๊ฑฐ ๋ธŒ๋žœ์น˜๋ฅผ ๋ณด๋ฉด์„œ ์ œ๊ฑฐ๋˜์ง€ ์•Š๊ณ  ์‚ด์•„์žˆ๋˜ ๋ธŒ๋žœ์น˜๋“ค์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ธŒ๋žœ์น˜๋“ค์„ ๋ชจ๋‘ ์ œ๊ฑฐํ•˜๋ฉด์„œ ๊ฒช์—ˆ๋˜ ์ด์Šˆ์™€ ํ•จ๊ป˜ ์–ด๋–ป๊ฒŒ ํ•˜๋ฉด ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋ธŒ๋žœ์น˜ ํƒ์ƒ‰ ์ œ๊ฑฐํ•˜๊ณ ์ž ํ•˜๋Š” ๋ธŒ๋žœ์น˜์˜ ์ด๋ฆ„์„ SourceTree์™€ ๊ฐ™์€ Tool๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ๊ธฐ๋„ ํ•˜์ง€๋งŒ ๋กœ์ปฌ์—์„œ ํ™•์ธํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ( ์ €๋Š” ๋ณดํ†ต Terminal์—์„œ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ) git branch -a ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž…๋ ฅํ•˜๊ฒŒ ๋˜๋ฉด ์›๊ฒฉ(๋นจ๊ฐ„์ƒ‰) ๋ฐ ๋กœ์ปฌ(ํ•˜์–€์ƒ‰) ๋ธŒ๋žœ์น˜๋“ค์ด ๋‚˜์˜ต๋‹ˆ๋‹ค. Local Branch ์ œ๊ฑฐ ๋ฐฉ๋ฒ• - ์ œ๊ฑฐํ•˜๊ณ ์ž ํ•˜๋Š” ๋ธŒ๋žœ์น˜๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ๋ธŒ๋žœ์น˜์—์„œ ์ง„ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. git branch -d [๋ธŒ๋žœ..

Git & Github 2022.06.23

[ 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

[Git & Github] Github Action์œผ๋กœ TestFlight ์—…๋กœ๋“œ ํ•ด๋ณด๊ธฐ(3)

์•ˆ๋…•ํ•˜์„ธ์š”~ ์˜ค๋Š˜์€ Github Action์œผ๋กœ TestFlight์— ๋ฐฐํฌํ•˜๋Š” ๊ณผ์ •์˜ ๋งˆ๋ฌด๋ฆฌ ํฌ์ŠคํŒ…์ด ๋  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค : ) [ ์ผ๋‹จ ์ง€๋‚œ ํฌ์ŠคํŒ… - ์‚ฌ์ „ ์ค€๋น„ ] [Git & Github] Github Action์œผ๋กœ TestFlight ์—…๋กœ๋“œ ํ•ด๋ณด๊ธฐ(2) ์•ˆ๋…•ํ•˜์„ธ์œ ~ ์ €๋ฒˆ ํฌ์ŠคํŒ…์— ์ด์–ด์„œ TestFlight์— ์–ด๋–ป๊ฒŒ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์•Œ์•„๋ณด๊ณ  ์—ฌ์œ ๊ฐ€ ๋œ๋‹ค๋ฉด ์ œ๊ฐ€ ๊ฒช์—ˆ๋˜ ์ด์Šˆ์— ๋Œ€ํ•œ ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ…๋„ ํ•จ๊ป˜ ๊ธฐ๋กํ•ด๋ณผ๊ฒŒ์š”! ์ž์ž ์ €๋ฒˆ ํฌ์ŠคํŒ…์—์„œ Github Action์œผ pooh-footprints.tistory.com yml ํŒŒ์ผ ์ˆ˜์ • - Github ๋‚ด์—์„œ ์ˆ˜์ •์„ ํ•˜์…”๋„ ๋˜๊ณ  .github/workflows์— ๊ฐ€์‹œ๋ฉด [์ •ํ•˜์…จ๋˜ ์ด๋ฆ„].yml ๊ณผ ๊ฐ™์ด ํ•ด๋‹น ํŒŒ์ผ์ด ์กด์žฌํ•˜๋‹ˆ ์ˆ˜์ •ํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค. - ๊ธฐ์กด์— ์ž‘์„ฑ..

Git & Github 2022.06.16

[Git & Github] Github Action์œผ๋กœ TestFlight ์—…๋กœ๋“œ ํ•ด๋ณด๊ธฐ(2)

์•ˆ๋…•ํ•˜์„ธ์š” ~ ์ €๋ฒˆ ํฌ์ŠคํŒ…์— ์ด์–ด์„œ TestFlight์— ์–ด๋–ป๊ฒŒ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค : ) ์‚ฌ์ „ ์ค€๋น„ Github Action - Build - (Unit Test) - Archive - ipa ์ƒ์„ฑ ๋ฐ TestFlight์— ์—…๋กœ๋“œ ์œ„์˜ 3~4๊ฐ€์ง€์˜ ๋‹จ๊ณ„๋ฅผ ๊ฑฐ์ณ ํ…Œ์ŠคํŠธ ํ”Œ๋ผ์ดํŠธ์— ์—…๋กœ๋“œ ์˜ˆ์ •์ธ๋ฐ ์‚ฌ์ „์— ์ค€๋น„ํ•ด๋‘์–ด์•ผ ํ•  ๊ฒƒ๋“ค์ด ์žˆ์Šต๋‹ˆ๋‹ค. 1. ํ”„๋กœ์ ํŠธ ์„ค์ • ์ง„ํ–‰ํ•˜๊ณ ์ž ํ•˜๋Š” ํ”„๋กœ์ ํŠธ์˜ ์Šคํ‚ค๋งˆ ๋ณ€๊ฒฝ - Edit Scheme์„ ํด๋ฆญํ•˜๊ณ  Build Configuration์„ release๋กœ ์„ค์ • โ€ป Build Configure - Realease๋กœ ์„ค์ • ์‹œ Distribution Certificate์™€ Distribution Provisioning Profile์ด ํ•„์š” Distribution Cert..

Git & Github 2022.06.15

[Git & Github] Github Action์œผ๋กœ TestFlight ์—…๋กœ๋“œ ํ•ด๋ณด๊ธฐ(1)

์•ˆ๋…•ํ•˜์„ธ์š”~ ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” Github Action์— ๋Œ€ํ•œ ์„ค๋ช…๊ณผ Github์—์„œ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์ž‘์„ฑํ•ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. Github Action ์ด๋ž€? - Github ์ €์žฅ์†Œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ Workflow๋ฅผ ์ž๋™ํ™”ํ•  ์ˆ˜ ์žˆ๋Š” ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. Github ๋‚ด๋ถ€์—์„œ ํ”„๋กœ์ ํŠธ๋ฅผ ๋นŒ๋“œ, ํ…Œ์ŠคํŠธ, ๋ฆด๋ฆฌ์ฆˆ ๋˜๋Š” ๋ฐฐํฌ๋ฅผ ์ง€์›ํ•˜๋Š” ๊ธฐ๋Šฅ์œผ๋กœ, Github์—์„œ ์ œ๊ณตํ•˜๋Š” CI/CD ๋„๊ตฌ๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ํŽธํ•  ๊ฒƒ ๊ฐ™๋„ค์š”. ๊ทธ๋Ÿฌ๋ฉด ์–ด๋–ป๊ฒŒ Github Action์ด ์ด๋ฃจ์–ด์ ธ ์žˆ๋Š”์ง€ ํ™•์ธํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. Github Action์˜ ๊ตฌ์„ฑ์š”์†Œ 1. Workflow - Repository์— ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋Š” ์ž๋™ํ™” ์ปค๋งจ๋“œ์˜ ์ง‘ํ•ฉ์œผ๋กœ ํ•˜๋‚˜ ์ด์ƒ์˜ Job์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์œผ๋ฉฐ Push๋‚˜ PR๊ณผ ๊ฐ™์€ ์ด๋ฒคํŠธ์— ์˜ํ•ด ์‹คํ–‰๋  ์ˆ˜๋„ ..

Git & Github 2022.06.14

[Today I Define] NavigationBar๋ฅผ ๋ฎ์ง€ ๋ชปํ•˜๋Š” ์ด์Šˆ

์•ˆ๋…•ํ•˜์„ธ์š”~ ์˜ค๋Š˜์€ ๋‚ด๋น„๊ฒŒ์ด์…˜ ๋ฐ”๊นŒ์ง€ ๋ทฐ๊ฐ€ ๋ฎ์ง€ ๋ชปํ–ˆ๋˜ ์ด์Šˆ๋ฅผ ์ •๋ฆฌํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค : ) ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์šฐ์ธก ํ•˜๋‹จ์˜ ํ”Œ๋กœํŒ… ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๊ฒŒ ๋˜๋ฉด ๋‚ด๋น„๊ฒŒ์ด์…˜ ๋ฐ”๋ฅผ ์ œ์™ธํ•œ ์˜์—ญ๋งŒ ๋ฎ๊ณ  ์žˆ๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‹œ๋„ํ–ˆ๋˜ ๋ฐฉ๋ฒ•๋“ค์„ ๋จผ์ € ์†Œ๊ฐœํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ, zPositon์„ ์ˆ˜์ •ํ•˜๋ฉด ์ •์ƒ์ ์œผ๋กœ ๋™์ž‘ํ•  ๊ฑฐ๋ผ๊ณ  ์ƒ๊ฐ์—์„œ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•  ์‹œ์— zPositon์˜ ๊ฐ’์„ OverlayView๋ณด๋‹ค ์ž‘๊ฒŒ ์ฃผ์–ด ํ™•์ธํ•ด ๋ดค์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ํ•ด๊ฒฐ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๋‘ ๋ฒˆ์งธ, ๊ธฐ์กด์— ์‚ฌ์šฉํ•˜๋˜ JJFloatingActionButton ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ OverlayView๊ฐ€ ์•„๋‹Œ ์ปค์Šคํ…€ ๋ทฐ๋ฅผ ๋งŒ๋“ค์–ด ์ ์šฉํ–ˆ์œผ๋‚˜ ์—ญ์‹œ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ํ•ด๊ฒฐ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์„ธ ๋ฒˆ์งธ, ๊ทธ๋Ÿฌ๋ฉด navigationBar์— ์ปค์Šคํ…€๋ทฐ๋ฅผ ๋”ฐ๋กœ ๋„ฃ์œผ๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ ์ƒ๊ฐ..

๋ฐ˜์‘ํ˜•