[Issue/UIKit] fullScreen vs OverFullScreen
ยท
๐ŸŽ Dev/Issue
๐Ÿ™ ๋ฌธ์ œ์ƒํ™ฉ : ๊ณผ์ œ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋Š” ๋„์ค‘, ๋‹ค๋ฅธ ๋ทฐ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ํ™”๋ฉด์— ๊ฝ‰ ์ฐฌ ํŒ์—…์ฐฝ์œผ๋กœ ๋ถˆ๋Ÿฌ์˜ค๋ฉฐ ํŒ์—…์ฐฝ์œผ๋กœ ๋งŒ๋“  UIView ์™ธ์˜ ์˜์—ญ์—” ํŒ์—…์ฐฝ VC๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ ์ „ ํ™”๋ฉด์„ ์–ด๋‘ก๊ฒŒ ๋ณด์ด๊ณ  ์‹ถ์—ˆ๋‹ค. ๋‚˜ํ•œํ…Œ ํ™”๋ฉด์— ๊ฝ‰ ์ฐฌ VC ์ „ํ™˜์€ ๋‹น์—ฐํžˆ fullScreen ์ด๋ผ๊ณ  ์™ธ์›Œ๋‘๊ณ  ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ •์ž‘ ์ ์šฉํ–ˆ์„ ๋•Œ ์›ํ•˜๋Š” ๋ฐ”๊ฐ€ ์ด๋ค„์ง€์ง€ ์•Š์•˜๋Š”๋ฐ ... โœ๏ธ ํ•ด๊ฒฐํ•œ ๋ฐฉ๋ฒ•: ์‚ฌ์‹ค ๋‚ด๊ฐ€ ๊ฐ„๊ณผํ•œ ๊ฒƒ์ด modal present style์ด ๋‹ค์–‘ํ•˜๋‹ค๋Š” ๊ฒƒ๊ณผ ๋‚ด๊ฐ€ ์ฃผ๋กœ fullScreen ์˜ต์…˜๋งŒ ์‚ฌ์šฉํ•ด์„œ ๋‹ค๋ฅธ ์˜ต์…˜์˜ ์กด์žฌ๋ฅผ ๊นŒ๋งˆ๋“ํ•˜๊ฒŒ ์žŠ๊ณ  ์žˆ์—ˆ๋‹ค๋Š” ๊ฒƒ. ๊ทธ๋Ÿฌ๋‹ˆ ์˜ต์…˜์— ๋Œ€ํ•ด์„œ ํ•œ์ •์ ์œผ๋กœ ๊ธฐ์–ตํ•˜์ง€ ๋ง์ž๋Š” ์˜๋ฏธ๋กœ ๊ธฐ๋กํ•ด๋‘๊ธฐ๋กœ ํ–ˆ๋‹ค. (์Šต๊ด€์ ์œผ๋กœ ์•”๊ธฐํ•˜๋ ค๊ณ  ๋“œ๋Š” ๊ฑธ ๊ฒฝ๊ณ„ํ•ด์•ผํ•  ๊ฒƒ ๊ฐ™๋‹ค. ๊ฐœ๋ฐœ์„ ๋ฐฐ์šฐ๋ฉฐ ๊นจ๋‹ซ๋Š” ๊ฑด ๊ฐœ๋ฐœ์€ ์‚ฌ๊ณ ์˜ ๋ถ„์•ผ์ง€ ..
[UIKit/Storyboard] ํ‚ค๋ณด๋“œ ๋‚ด๋ฆฌ๊ธฐ
ยท
๐ŸŽ Dev/UIKit
๐Ÿ’ป ํ…์ŠคํŠธํ•„๋“œ๋ฅผ ๋‹จ์ˆœํžˆ ๋„ฃ๊ธฐ๋งŒ ํ•˜๋ฉด ํ‚ค๋ณด๋“œ๊ฐ€ ๋‚ด๋ ค๊ฐ€์ง€ ์•Š๋Š” ๊ฑธ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ๋กœ ํ™•์ธํ•  ์ˆ˜๊ฐ€ ์žˆ๋‹ค. ํ™”๋ฉด์„ ํ„ฐ์น˜ํ•ด์„œ ํ‚ค๋ณด๋“œ๋ฅผ  ๋‚ด๋ฆฌ๊ฑฐ๋‚˜, return key๋ฅผ ๋ˆŒ๋Ÿฌ ๋‚ด๋ฆฌ๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ฝ”๋“œ๋กœ ์ž‘์„ฑํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค. ๊ทธ๋ž˜์„œ ํ‚ค๋ณด๋“œ๋ฅผ ๋‚ด๋ฆฌ๊ธฐ ์œ„ํ•œ ๋ช‡ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์„ ์ •๋ฆฌํ•˜๊ณ ์ž ํ•œ๋‹ค.        ์‚ฌ์šฉ์ž๋Š” ๋ณดํ†ต ํ‚ค๋ณด๋“œ๋ฅผ ๋‚ด๋ฆด ๋•Œ, ๋นˆ ํ™”๋ฉด์„ ํ„ฐ์น˜ํ•˜๊ฑฐ๋‚˜ ํ˜น์€ return key๋ฅผ ๋ˆŒ๋Ÿฌ ํ‚ค๋ณด๋“œ๋ฅผ ํ™”๋ฉด ์•„๋ž˜๋กœ ๋‚ด๋ฆฐ๋‹ค. ์ด๋Ÿฐ action์„ ๊ตฌํ˜„ํ•ด์ฃผ๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ• ๊นŒ?      (1) IBAction์œผ๋กœ ์—ฐ๊ฒฐํ•  ๋•Œ Event๋ฅผ Did End On Exit๋กœ ๋ณ€๊ฒฝํ•ด์ค€๋‹ค.   Action์œผ๋กœ ๋ทฐ๊ฐ์ฒด๋ฅผ ์—ฐ๊ฒฐํ•ด์ค„ ๋•Œ, Event๋ฅผ Did End On Exit๋กœ ๋ณ€๊ฒฝํ•ด์ฃผ๋ฉด ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ์—์„œ return key๋ฅผ ๋ˆ„๋ฅด๋ฉด ํ‚ค๋ณด๋“œ๊ฐ€ ๋ฐ”๋กœ ๋‚ด๋ ค๊ฐ€๋Š” ..
[UIKit/Storyboard] ํ•œ ํ”„๋กœ์ ํŠธ์—์„œ ๋‹ค๋ฅธ ์Šคํ† ๋ฆฌ๋ณด๋“œ ๋ณด๋Š” ๋ฒ•
ยท
๐ŸŽ Dev/UIKit
๐Ÿ’ป ํ•œ ํ”„๋กœ์ ํŠธ ๋‚ด์—์„œ ์Šคํ† ๋ฆฌ๋ณด๋“œ๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ ์ƒ์„ฑํ–ˆ์„ ๋•Œ, ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ์—์„œ ์›ํ•˜๋Š” ์Šคํ† ๋ฆฌ๋ณด๋“œ๋ฅผ ๋„์šฐ๋Š” ๋ฐฉ๋ฒ•์„ ์ •๋ฆฌํ•ด๋ณด์ž.     ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•˜๋ฉด ๋ณดํ†ต 'Main'์ด๋ž€ ์ด๋ฆ„์„ ๋‹จ ์Šคํ† ๋ฆฌ๋ณด๋“œ๊ฐ€ ํ•จ๊ป˜ ์ƒ์„ฑ์ด ๋œ๋‹ค. ํ•œ ํ”„๋กœ์ ํŠธ ์•ˆ์— ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์Šคํ† ๋ฆฌ๋ณด๋“œ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ๋”ฐ๋กœ ์„ค์ •์„ ํ•ด์ฃผ์ง€ ์•Š์œผ๋ฉด ์•„๋ฌด๋ฆฌ entry point๋ฅผ ์„ค์ •ํ•ด์ฃผ์–ด๋„ Main ์Šคํ† ๋ฆฌ๋ณด๋“œ๋งŒ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ์— ๋‚˜์˜จ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ๋‹ค๋ฅธ ์Šคํ† ๋ฆฌ๋ณด๋“œ์— ์žˆ๋Š” ์”ฌ์„ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์„๊นŒ?         Main ์Šคํ† ๋ฆฌ๋ณด๋“œ ๋ง๊ณ  VariousPractice๋ผ๋Š” ์Šคํ† ๋ฆฌ๋ณด๋“œ๋ฅผ ๋„์šฐ๊ธฐ ์œ„ํ•ด์„  Info ํ™”๋ฉด์—์„œ ์ˆ˜์ •์„ ํ•ด์ฃผ์–ด์•ผํ•œ๋‹ค.        Info๋ฅผ ๋ˆ„๋ฅด๋ฉด ์ด๋Ÿฐ ํ™”๋ฉด์ด ๋œจ๋Š”๋ฐ, ์ด๋•Œ Application Scene Manifest..
[UIKit/Storyboard] ์•„์šธ๋ › ํ•จ์ˆ˜ (@IBOutlet)๊ณผ ์•ก์…˜ ํ•จ์ˆ˜ (@IBAction)
ยท
๐ŸŽ Dev/UIKit
์šฐ์„ , IB- ๋Š” Interface Builder์˜ ์•ฝ์ž๋กœ, ์Šคํ† ๋ฆฌ๋ณด๋“œ์—์„œ ์ž‘์—…์ด ์ผ์–ด๋‚˜๊ณ  ์žˆ์Œ์„ ์•Œ๋ ค์ฃผ๋Š” ๊ฒƒ์ด๋‹ค.   ๐Ÿ“Œ @IBOutlet์ด๋ž€?  - ๊ฐ์ฒด์— ์†์„ฑ(์ƒ‰์ƒ, ๊ธ€์˜ ๋‚ด์šฉ, ์„  ๋“ฑ)์„ ์ง€์ •ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š”๋ฐ, ๋ณ€์ˆ˜๋ฅผ ์ง€์ •ํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ ์›๋ฆฌ์ด๋‹ค.   ๐Ÿ“Œ@IBAction์ด๋ž€? - ์‚ฌ์šฉ์ž๊ฐ€ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ๋ฐœ์ƒํ•˜๋Š” ์ƒํ™ฉ๊ณผ ๊ฐ™์ด view์— ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜์˜€์„ ๋•Œ ์ •ํ•ด์ง„ ์ž‘์—…์„ ์‹คํ–‰ ์‹œํ‚ค๋Š”, ์ด๋ฒคํŠธ๋ฅผ ์ œ์–ดํ•˜๋Š” ํ•จ์ˆ˜ ํ‚ค์›Œ๋“œ์ด๋‹ค.     โž• ์—ฐ๊ฒฐ ๋ฐฉ๋ฒ•์€ IBOulet๊ณผ IBAction์ด ๋™์ผํ•œ๋ฐ, ์•„๋ž˜ ๋ฐœํ–‰๊ธ€ ์ฐธ์กฐ 2023.07.29 - [Swift/Xcode] - ์”ฌ(Scene)๊ณผ Class ์—ฐ๊ฒฐ
[UIKit/Storyboard] ์”ฌ(Scene)๊ณผ Class ์—ฐ๊ฒฐ
ยท
๐ŸŽ Dev/UIKit
๐Ÿ”–  Cocoa Touch Framework  - iOS๋‚˜ OS ํ™˜๊ฒฝ์—์„œ ์‹คํ–‰ํ•ด์•ผํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ํ”„๋กœ๊ทธ๋žจ์„ ๋นŒ๋“œํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ. (์• ํ”Œ ์ตœ์ ํ™” & ์ตœ์ƒ์œ„ ๋ ˆ๋ฒจ์˜ ํ”„๋ ˆ์ž„์›Œํฌ) -> iOS ์•ฑ์„ ๋งŒ๋“œ๋Š”๋ฐ ํ•„์š”ํ•œ ๊ธฐ์ดˆ์ ์ธ ํˆด - UIKit = ๋Œ€ํ‘œ์ ์ธ UI ๋„๊ตฌ : iOS ํ™˜๊ฒฝ์˜ ์”ฌ ๊ตฌ์„ฑ์—์„œ ์œ ์ € ์ธํ„ฐ์ŠคํŽ˜์ด์Šค์—์„œ ๋™์ผ์„ฑ์ด ์กด์žฌํ•˜๋Š” ์ด์œ ๊ฐ€ ๋ฐ”๋กœ ๋™์ผํ•œ ์œ ์ € ์ธํ„ฐ์ŠคํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์”ฌ์„ ๊ตฌ์„ฑํ•˜๊ธฐ ๋•Œ๋ฌธ. UIKit ์•ˆ์— UILabel๊ณผ UIButton์ด ์žˆ๊ณ , ์—ฌ๊ธฐ์— UIView๊ฐ€ ์ƒ์†๋˜์–ด ์žˆ๋‹ค.UILabel : text, textColor, textAligment .... UIButton : SetTitle, SetTitleColor...UIView : layer(cornerRadius..
[UIKit/Storyboard] Shadow vs ClipsToBound
ยท
๐ŸŽ Dev/UIKit
๐Ÿ’ป ํ”„๋กœ์ ํŠธ ๋ชฉํ‘œ: ์‚ฌ์šฉ์ž๊ฐ€ DatePicker์—์„œ ์„ ํƒํ•œ ๋‚ ์งœ๋ฅผ ๊ธฐ์ค€์œผ๋กœ +100์ผ, +200์ผ, +300์ผ, +400์ผ์ด ํ•ฉ์‚ฐ ๋œ ๋‚ ์งœ๊ฐ€ ์ด๋ฏธ์ง€ ์œ„์— ๋œจ๋„๋ก ๋งŒ๋“ค๊ธฐ. โœ๏ธ ์ดํ•ด๊ฐ€ ํ•„์š”ํ•œ ๊ฐœ๋…: IBOutlet, IBAction, Sub ImageView, Shadow ์™€ ClipsToBound ๐Ÿ’ญ ์–ด๋ ค์› ๋˜ ๋ถ€๋ถ„: ์„ค์ •ํ•œ ๊ทธ๋ฆผ์ž๊ฐ€ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ์— ๋‚˜์˜ค์ง€ ์•Š์Œ, (์ฒซ) ๋งค๊ฐœ๋ณ€์ˆ˜ ์‘์šฉ, ํ•จ์ˆ˜์‹ ์ •๋ฆฌ         ๐Ÿ“Œ ์ด๋ฏธ์ง€๋ทฐ ๋’ค๋กœ ๊ทธ๋ฆผ์ž ๋งŒ๋“ค๊ธฐ (1) UIView -> UIImage -> label : ๊ฐ ์†์„ฑ์„ ์‚ด๋ฆฌ๋Š” ๋ ˆ์ด์–ด ์Œ“๊ธฐ   - UIView๋ฅผ ์‹œ์ž‘์œผ๋กœ ์ฐจ๊ณก์ฐจ๊ณก ๋ ˆ์ด์–ด๋ฅผ ์Œ“์•„์ฃผ์–ด์•ผ ํ•œ๋‹ค.UIImageView๋งŒ ์“ฐ๋ฉด layer.cornerRadius ์„ค์ •ํ•  ๋•Œ shadow ์„ค์ •ํ•œ ๋ถ€๋ถ„์ด ํ•จ๊ป˜ ์ž˜๋ ค..