demo ๊ฐ๋ฐ - 4 : launchScreen ๋ฐ UI ๊ฐ์
๊ธฐ๋ฅ์ ์ถ๊ฐํด์ผ๋ ๊ฑด ์ฐ๋๋ฏธ๊ธด ํ๋ฐ ๋ญ๊ฐ ์ฑ ๋๋์ด ์๋์
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 ๋ฒํผ์ ๋๋ฅด๋ฉด
์ด๋ฐ ํ๋ฉด์ด ๋์ค๊ฒ ๋๊ณ
ํ์ธ์ ๋๋ฅด๋ฉด ๋ธ๋ฃจํฌ์ค ์ค์บ์ ๋ฉ์ถ๊ณ
์ฒซ ํ๋ฉด์ผ๋ก ๋์๊ฐ๋ค.
์ค๋์ ์ฌ๊ธฐ๊น์ง ์์ ํ์๋ค. ๋^_^