๐Ÿ’ก work work work/ios app development

demo ๊ฐœ๋ฐœ - 4 : launchScreen ๋ฐ UI ๊ฐœ์„ 

hanwitjus 2022. 2. 22. 16:29

๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•ด์•ผ๋  ๊ฑด ์‚ฐ๋”๋ฏธ๊ธด ํ•œ๋ฐ ๋ญ”๊ฐ€ ์•ฑ ๋А๋‚Œ์ด ์•ˆ๋‚˜์„œ

UI๋ฅผ ๋Œ€์ถฉ ์ข€ ๊พธ๋ฉฐ๋ดค๋‹ค.

 

1. LaunchScreen

 

์ด๋Ÿฐ์‹์œผ๋กœ ๋‚˜์˜ค๊ฒŒ ๋œ๋‹ค.

 

 

 

 

 

 

 

์•ฑ ์‹œ์ž‘์‹œ ํ™”๋ฉด์„ ๊ทธ๋ƒฅ ๋Œ€์ถฉ

ํšŒ์‚ฌ ๋กœ๊ณ ๋ž‘ ์•ฑ ์ด๋ฆ„์œผ๋กœ ํ•ด๋†จ๋‹ค.

 

 

 

 

 

 

 

 

 

 

 

2. Main View

 

 

 

 

๊ทธ๋ฆฌ๊ณ  ๋ฉ”์ธ ํ™”๋ฉด์„

์ด๋ ‡๊ฒŒ ๋ฐ”๊ฟจ๋‹ค.

 

์œ„์— Device Scan์€ NavigationController๋ฅผ ์ถ”๊ฐ€ํ•ด์„œ ๋งŒ๋“ค์—ˆ๊ณ ,

๊ทธ ๋ฐ‘์—๋Š” ์Šคํƒ์œผ๋กœ ๋ฉ”๋‰ด๋“ค์„ ์ถ”๊ฐ€ํ–ˆ๋‹ค.

 

์•„์ง ๋กœ๊ทธ์ธ์ด๋ž‘ exit๋ฒ„ํŠผ์— ์•ก์…˜์„ ์ถ”๊ฐ€ํ•˜์ง„ ์•Š๊ณ 

scan ๋ฒ„ํŠผ์—๋งŒ ๊ธฐ๋Šฅ์ด ์žˆ๋‹ค.

 

 

 

 

 

 

 

 

3. Scan List View

์ด์ „์—๋Š” scan์„ ๋ˆŒ๋ €์„ ๋•Œ ๋ชจ๋‹ฌ ๋ฐฉ์‹์œผ๋กœ ํ™”๋ฉด์ด ๋–ด์—ˆ๋Š”๋ฐ ์ง€๊ธˆ์€ ๋„ค๋น„๊ฒŒ์ด์…˜์— push ํ•œ๊ฑฐ๋ผ ์˜ค๋ฅธ์ชฝ ์ฒ˜๋Ÿผ ๋ณด์ธ๋‹ค.

 

(์™ผ) ์ˆ˜์ •์ „, (์˜ค) ์ˆ˜์ •ํ›„

 

๊ทธ๋ฆฌ๊ณ  stop๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ์Šค์บ”์„ ์ค‘์ง€ํ•˜๊ณ  ๋ฉ”์ธํ™”๋ฉด์œผ๋กœ ๋Œ์•„๊ฐ€๊ฒŒ ๋งŒ๋“ค์—ˆ๋‹ค.

 

์ด ๊ณผ์ •์—์„œ ๊ทธ ์ „์—๋Š” ๊ทธ๋ƒฅ ๋ชจ๋‹ฌ๋กœ present ๋œ๊ฑฐ๊ธฐ ๋•Œ๋ฌธ์— dismiss ํ•˜๋ฉด ๋๋Š”๋ฐ

์ง€๊ธˆ์€ ๊ทธ๋ ‡๊ฒŒ ํ•˜๋ฉด ์•ˆ๋˜๊ณ  stack ์ฒ˜๋Ÿผ ์Œ“์—ฌ์žˆ๋Š” View๋“ค์„ ํ•˜๋‚˜์”ฉ pop ํ•ด์•ผํ•œ๋‹ค.

 

๊ทผ๋ฐ ๊ทธ๋ƒฅ ๋Œ์•„๊ฐ€๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ Alert์„ ๋„์šฐ๊ณ  ๋Œ์•„๊ฐ„๋‹ค.

 

๊ทธ๋ž˜์„œ ์•„๋ž˜์™€ ๊ฐ™์ด ์ฝ”๋“œ๋ฅผ ๋งŒ๋“ ๋‹ค.

 @IBAction func stopScanning(_ sender: Any) {
       print("=== ์Šค์บ” ์ค‘์ง€ ===")
        serial.stopScan()
        stopAlert()
    }
    
    func stopAlert(){
        let alert = UIAlertController(title: "๋ธ”๋ฃจํˆฌ์Šค ์Šค์บ”์„ ์ค‘์ง€ํ•˜๊ณ  ์ฒ˜์Œ์œผ๋กœ ๋Œ์•„๊ฐ‘๋‹ˆ๋‹ค.", message: nil, preferredStyle: .actionSheet)
        
        let buttonAction = UIAlertAction(title: "ํ™•์ธ", style: .cancel, handler: { _ in self.navigationController?.popViewController(animated: true)})
        
        alert.addAction(buttonAction)
        self.present(alert, animated: true, completion: nil)

    }

 

 

ios๋Š” ์•ˆ๋“œ๋กœ์ด๋“œ์ฒ˜๋Ÿผ ํ† ์ŠคํŠธ๋ฅผ ์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š” ํ™˜๊ฒฝ์ธ๊ฒƒ ๊ฐ™๋‹ค.

์ƒ๊ฐํ•ด๋ณด๋‹ˆ ๋‚˜๋„ ์•„์ดํฐ์„ ์“ฐ๋ฉด์„œ ํ•œ๋ฒˆ๋„ ํ† ์ŠคํŠธ๋ฉ”์‹œ์ง€๋ฅผ ๋„์šฐ๋Š” ์•ฑ์„ ๋ณธ์ ์ด ์—†๋Š” ๊ฒƒ ๊ฐ™๋‹ค. 

(๋ณด์•ˆ์ƒ ๊ถŒ์žฅํ•˜์ง€ ์•Š๋Š” ๊ฑธ์ง€๋„)

 

 

 

 

 

 

 

 

์•„๋ฌดํŠผ ๊ทธ๋ž˜์„œ stop ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด

์ด๋Ÿฐ ํ™”๋ฉด์ด ๋‚˜์˜ค๊ฒŒ ๋˜๊ณ 

ํ™•์ธ์„ ๋ˆ„๋ฅด๋ฉด ๋ธ”๋ฃจํˆฌ์Šค ์Šค์บ”์„ ๋ฉˆ์ถ”๊ณ 

์ฒซ ํ™”๋ฉด์œผ๋กœ ๋Œ์•„๊ฐ„๋‹ค.

 

 

 

 

 

 

 

 

 

 

์˜ค๋Š˜์€ ์—ฌ๊ธฐ๊นŒ์ง€ ์ˆ˜์ •ํ•˜์˜€๋‹ค. ๋^_^

LIST