๐ŸŒฑ SeSAC

[SeSAC] 220726 TIL

taeeekki 2022. 7. 26. 12:54

๋„ค๋น„๊ฒŒ์ด์…˜ ๋ฐ”/ํƒญ ๋ฐ” bottom/top ๋ผ์ธ

  • ๋””ํดํŠธ๋กœ ์ œ๊ณต๋˜๋Š” ์†์„ฑ์€ ์—†๋‹ค.
  • ์ปค์Šคํ…€ ํ•ด์•ผ ํ•จ.

ํ™”๋ฉด ๋ถ„๊ธฐ ์ฒ˜๋ฆฌ

  • ๋‹จ์ˆœํžˆ 2๊ฐœ๋งŒ ๋ถ„๊ธฐ๊ฐ€ ๋˜๋Š” ๊ฒฝ์šฐ๋Š” ๊ฐ’ ์ „๋‹ฌ๋กœ ๋ถ„๊ธฐ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅ.
  • ์žฌ์‚ฌ์šฉ๋˜๋Š” ํ™”๋ฉด์ด ๋งŽ์•„ ์ง„๋‹ค๋ฉด ์—ด๊ฑฐํ˜•์„ ์‚ฌ์šฉํ•ด์„œ ์ข€ ๋” ์œ ์—ฐํ•˜๊ฒŒ ๋Œ€์‘ํ•  ์ˆ˜ ์žˆ์Œ.

๋„ค๋น„๊ฒŒ์ด์…˜ ํƒ€์ดํ‹€ ์ปค์Šคํ…€

ํ•˜๋‚˜๋งŒ ํƒํ•ด๋ผ. ์• ํ”Œ ๊ฐ€์ด๋“œ๋ฅผ ์ง€ํ‚ค๊ฑฐ๋‚˜, ์•„์˜ˆ ์ƒˆ๋กœ ๋งŒ๋“ค๊ฑฐ๋‚˜!

  • ์• ํ”Œ์˜ ์‹œ์Šคํ…œ ํ˜•ํƒœ ๊ทธ๋Œ€๋กœ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ์ปค์Šคํ…€์ด ์‚ฌ์‹ค์ƒ ์–ด๋ ค์›€.
  • ์ปค์Šคํ…€ ์˜์—ญ์€ UIView๋ฅผ ๊ฐ€์ง€๊ณ  ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ ๋‹ค ๋ฐ”๊พผ ๊ฒƒ์ด๋ผ๊ณ  ๋ณด์•„๋„ ๋ฌด๋ฐฉ.

Navigation Title ๋ถ€๋ถ„์„ UIView๋กœ ๋Œ€์ฒดํ•  ์ˆ˜ ์žˆ์Œ

  • titleView ํ”„๋กœํผํ‹ฐ ์ด์šฉ

๋ผ๋ฒจ์— inset

  • ๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ๋Š” ํ…์ŠคํŠธ ์ขŒ์šฐ์— ์—ฌ๋ฐฑ์„ ๋„ฃ์–ด์„œ ํ•ด๊ฒฐ ๊ฐ€๋Šฅ
  • ๊ธ€์ž ์ˆ˜์˜ ๋ฒ”์œ„๊ฐ€ ๊ณ ์ •์ ์ด๊ฑฐ๋‚˜ ์ผ์ •ํ•˜๋‹ค๋ฉด Constraint๋ฅผ ์กฐ์ •ํ•ด์„œ ํ•ด๊ฒฐ ๊ฐ€๋Šฅ
  • ๊ทธ ์™ธ์— ๋™์ ์ด๋ผ๋ฉด instrinsic Size ์กฐ์ •

UserDefaults

๋‚˜๋Š” ๊ฐ’์„ ์ดˆ๊ธฐํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ์ง„ํ–‰ํ–ˆ์—ˆ์Œ

  • RemoveObject
  • ์ „์ฒด UserDefaults Remove

LineView

  • UIView์˜ Height์„ 1๋กœ ์กฐ์ •ํ•จ์œผ๋กœ ๊ตฌํ˜„ ๊ฐ€๋Šฅ

ํฐํŠธ ํฌ๊ธฐ ๋Œ€์‘

  • ์ ˆ๋Œ€์ ์ธ ํฐํŠธ ํฌ๊ธฐ๋ฅผ ์ค„์ธ๋‹ค. (์ด ๋ฐฉ๋ฒ•์ด ๋” ์ ์ ˆํ•˜๋‹ค, ์ผ๋ฐ˜์ ์œผ๋กœ ํฐํŠธ ์‚ฌ์ด์ฆˆ๋Š” ๋””๋ฐ”์ด์Šค ํฌ๊ธฐ์™€ ์ƒ๊ด€์—†์ด ๋™์ผํ•˜๋‹ค.)
  • textField : minScaleSize, label : adjust (๋ ˆ์ด์•„์›ƒ์— ๋”ฐ๋ผ ๊ธ€์”จ ํฌ๊ธฐ ์กฐ์ ˆํ•˜๊ธฐ)
  • ์กฐ๊ฑด๋ฌธ์œผ๋กœ ๋ถ„๊ธฐ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์„œ ํฐํŠธ ํฌ๊ธฐ ์กฐ์ ˆ (๋””๋ฐ”์ด์Šค ํฌ๊ธฐ์˜ ๋ฒ”์œ„๊ฐ€ ์–ผ๋งˆ์ด๋ฉด, ํฐํŠธ ํฌ๊ธฐ๋ฅผ ์กฐ์ ˆํ•ด๋ผ.)

ํ™”๋ฉด๊ณผ ๋ฐ์ดํ„ฐ๋Š” ๋…๋ฆฝ์ ์ด๋‹ค.

๋ฐ์ดํ„ฐ๊ฐ€ ๋ณ€๊ฒฝ๋จ์— ๋”ฐ๋ผ ์–ด๋–ค ์‹œ์ ์— ํ™”๋ฉด์— ํ‘œ์‹œ/๋ณ€๊ฒฝํ•ด์•ผํ•˜๋Š”์ง€๋ฅผ ์ž˜ ๊ฒฐ์ •ํ•ด์•ผ ํ•œ๋‹ค. (์ถฉ๋ถ„ํ•œ ๊ณ ๋ฏผ ํ•„์š”)

 


์—ฐ์‚ฐ ํ”„๋กœํผํ‹ฐ

ํ”„๋กœํผํ‹ฐ์— ๋Œ€ํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•˜๋Š” ์‹œ๊ฐ„์ด์—ˆ๋Š”๋ฐ ์ง„์งœ ๋„ˆ๋ฌด ์œ ์ตํ•˜๊ณ , ์ •๋ฆฌ๋˜๋Š” ์‹œ๊ฐ„์ด์—ˆ๋‹ค. ์‹œ๊ฐ„ ๋‚ด์„œ ๋”ฐ๋กœ ๋‚ด์šฉ์„ ๋œฏ์–ด๋ด์•ผ๊ฒ ๋‹ค.

๊ตฌ์กฐ์ฒด๋‚˜ ํด๋ž˜์Šค์˜ ๋‚ด๋ถ€ ํ”„๋กœํผํ‹ฐ์— ์˜ํ•ด ๊ณ„์‚ฐ๋˜์–ด ์‚ฌ์šฉ๋˜๋Š” ๊ฐ’์ธ ๊ฒฝ์šฐ

struct Movie {
    var title: String
    var releaseDate: String
    var rate: Double

    var status: String {
        return "\(title) · \(releaseDate) · \(rate)"
    }
}

์œ„์™€ ๊ฐ™์ด Movie์— ๋Œ€ํ•œ ๊ตฌ์กฐ์ฒด๊ฐ€ ์žˆ๋‹ค๊ณ  ํ–ˆ์„ ๋•Œ, ํ™”๋ฉด์— ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด์—ฌ์ค„ ๋•Œ title, releaseDate, rate๋ฅผ ํ•œ ์ค„์— ๋ณด์—ฌ์ฃผ๊ณ  ์‹ถ์€ ์ƒํ™ฉ์ด๋‹ค. ์ด ๋•Œ Label์„ ๊ฐ๊ฐ 3๊ฐœ ๋งŒ๋“ค ์ˆ˜๋„ ์žˆ๊ณ , Label์„ 1๊ฐœ ๋งŒ๋“  ๋’ค์— ๊ฐ ํ”„๋กœํผํ‹ฐ์— ์ ‘๊ทผํ•ด์„œ ๊ฐ’์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๊ฒ ์ง€๋งŒ ์—ฐ์‚ฐ ํ”„๋กœํผํ‹ฐ๋กœ status๋ผ๋Š” ํ”„๋กœํผํ‹ฐ๋ฅผ ๋งŒ๋“  ๋‹ค์Œ์— ๊ฐ’์— ์ ‘๊ทผํ•˜๋ฉด ํ›จ์”ฌ ๊น”๋”ํ•˜๊ณ  ์ƒํ™ฉ์— ์ ํ•ฉํ•˜๊ฒŒ ๊ฐ’์„ ์ด์šฉํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค.

 

๋‚ด๋ถ€์˜ ๊ฐ’์„ ์ด์šฉํ•ด์„œ ์ƒˆ๋กœ์šด ๊ฐ’์„ ๋งŒ๋“ค์–ด๋‚ด๋Š” ์ƒํ™ฉ

์—ฐ์‚ฐ ํ”„๋กœํผํ‹ฐ๋Š” ๋ฉ”์„œ๋“œ์™€ ๊ฑฐ์˜ ์œ ์‚ฌํ•˜๊ฒŒ ๋™์ž‘ํ•˜์ง€๋งŒ ์ด๋Ÿฌํ•œ ๊ฒฝ์šฐ์—๋Š” ๊ตณ์ด ๋ฉ”์„œ๋“œ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ๋ณด๋‹ค ์—ฐ์‚ฐ ํ”„๋กœํผํ‹ฐ๋ฅผ ํ™œ์šฉํ•ด ๋ณผ ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค.