๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

IOS17

WebView ์›น๋ทฐ(WebView) ์›น ์ฝ˜ํ…์ธ ๋ฅผ ๋ทฐ ํ˜•ํƒœ๋กœ ๋ณด์—ฌ์ฃผ๋Š” ์•ฑ ์ต์Šคํ”Œ๋กœ๋Ÿฌ, ํฌ๋กฌ ๋ธŒ๋ผ์šฐ์ €์™€ ๊ฐ™์ด HTML๋กœ ์ž‘์„ฑ๋œ ํ™ˆํŽ˜์ด์ง€๋ฅผ ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ์Œ 1. Webkit View ๊ฐ์ฒด ์ถ”๊ฐ€ Library์—์„œ Webkit View๋ฅผ ์ฐพ์•„ ์Šคํ† ๋ฆฌ ๋ณด๋“œ์— ์ถ”๊ฐ€ 2. ์•„์›ƒ๋ › ๋ณ€์ˆ˜ ์ถ”๊ฐ€ WebView์— ๋Œ€ํ•œ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ์•„์›ƒ๋ › ๋ณ€์ˆ˜ ์ถ”๊ฐ€ 3. WebView load ํ˜„์žฌ ์ฃผ์†Œ url ์ฃผ์†Œ๋ฅผ URLํ˜•์œผ๋กœ ์„ ์–ธ ํ›„, URL Request ํ˜•์œผ๋กœ ์„ ์–ธ webView load 4. ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ ํ™•์ธ + WebView ๊ธฐ๋ณธ ๊ธฐ๋Šฅ ๊ตฌํ˜„ // ์žฌ๋กœ๋”ฉ webView.reload() // ์ •์ง€ webView.stopLoading() // ์ด์ „ ํŽ˜์ด์ง€๋กœ ์ด๋™ webView.goBack() //๋‹ค์Œ ํŽ˜์ด์ง€๋กœ ์ด๋™ webView.goForwa.. 2022. 12. 8.
Alert ์–ผ๋Ÿฟ(Alert) ์‚ฌ์šฉ์ž์—๊ฒŒ ์ค‘์š”ํ•œ ์•Œ๋ฆผ์ด๋‚˜ ๊ฒฝ๊ณ  ๋ฉ”์‹œ์ง€๋ฅผ ๋‚˜ํƒ€๋‚ด์•ผ ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๊ฐœ์ฒด 1. button ๊ฐ์ฒด ์ถ”๊ฐ€ Library์—์„œ Button์„ ์ฐพ์•„ ์Šคํ† ๋ฆฌ ๋ณด๋“œ์— ์ถ”๊ฐ€ 2. Aciton ํ•จ์ˆ˜ ์„ ์–ธ button์ด touch ๋˜์—ˆ์„ ๋•Œ ๋™์ž‘ํ•  ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ธฐ ์œ„ํ•œ Actionํ•จ์ˆ˜ ์„ ์–ธ 3. AlertController, AlertAction ์ƒ์„ฑ AlertController๋ฅผ ์„ ์–ธํ•ด Alert์— ํ‘œ์‹œ๋  titile๊ณผ message ์„ ์–ธ ok Action๊ณผ cancel Action ์ƒ์„ฑ, Action์˜ handler์—์„œ ํ•ด๋‹น Action์ด ์„ ํƒ๋˜์—ˆ์„ ๋•Œ ๋™์ž‘ํ•  ๊ตฌ๋ฌธ์„ ์„ ์–ธ ๊ฐ€๋Šฅ AlertController์— Action ์ถ”๊ฐ€ ํ›„ present ๋ฉ”์„œ๋“œ ์‹คํ–‰ 4. ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ ํ™•์ธ Alert ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ .. 2022. 12. 8.
Picker View ํ”ผ์ปค ๋ทฐ (Picker View) ์•„์ดํฐ์—์„œ ์›ํ•˜๋Š” ํ•ญ๋ชฉ์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๊ฐ์ฒด ๋ฐ์ดํŠธ ํ”ผ์ปค- ๋‚ ์งœ์™€ ์‹œ๊ฐ„, ํ”ผ์ปค ๋ทฐ - ๋ฌธ์ž์—ด ์„ ํƒ 1. Picker View ๊ฐ์ฒด ์ถ”๊ฐ€ Library์—์„œ Picker View๋ฅผ ์ฐพ์•„ ์Šคํ† ๋ฆฌ ๋ณด๋“œ์— ์ถ”๊ฐ€ 2. ์•„์›ƒ๋ › ๋ณ€์ˆ˜ ์ถ”๊ฐ€ PickerView์— ๋Œ€ํ•œ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ์•„์›ƒ๋ › ๋ณ€์ˆ˜ ์ถ”๊ฐ€ 3. ๋ธ๋ฆฌ๊ฒŒ์ดํŠธ ์„ค์ • PickerView ์ƒํ˜ธ์ž‘์šฉ์„ ์œ„ํ•ด ๋ธ๋ฆฌ๊ฒŒ์ดํŠธ ์„ค์ • PickerView๋ฅผ ์˜ค๋ฅธ์ชฝ ๋งˆ์šฐ์Šค๋กœ ์„ ํƒํ•œ ํ›„ ์ƒ๋‹จ์— ์žˆ๋Š” "ViewController" ์•„์ด์ฝ˜ ์œ„๋กœ ๋Œ์–ด๋‹ค ๋†“์œผ๋ฉด delegte ์„ ํƒ ๊ฐ€๋Šฅ delegate: ๋‹ค๋ฅธ ๋ˆ„๊ตฐ๊ฐ€ ํ•ด์•ผ ํ•˜๋Š” ์ผ์„ ๋Œ€์‹ ํ•ด์ฃผ๋Š” ๋Œ€๋ฆฌ์ž ์—ญํ•  ํŠน์ • ๊ฐ์ฒด์™€ ์ƒํ˜ธ์ž‘์šฉํ•  ๋•Œ ๋ฉ”์‹œ์ง€๋ฅผ ๋„˜๊ธฐ๋ฉด ๊ทธ ๋ฉ”์‹œ์ง€์— ๋Œ€ํ•œ ์ฑ…์ž„์€ delegate๋กœ ์œ„์ž„ .. 2022. 12. 8.
UIImageView ์ด๋ฏธ์ง€ ๋ทฐ(Image View) ์•ฑ์—์„œ ์‚ฌ์ง„์„ ๋ณด์—ฌ ์ค˜์•ผ ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๊ฐ์ฒด 1. ์ด๋ฏธ์ง€ ๋ทฐ ์ถ”๊ฐ€ Library์—์„œ Image View๋ฅผ ์ฐพ์•„ ํ™”๋ฉด์— ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ํ™”๋ฉด์— ์ด๋ฏธ์ง€ ๋ทฐ ๊ฐ์ฒด๊ฐ€ ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค. 2. ์ด๋ฏธ์ง€ ๋ทฐ์— ์ด๋ฏธ์ง€ ์ถ”๊ฐ€ ์ด๋ฏธ์ง€ ๋ทฐ์— ์ด๋ฏธ์ง€๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ํฌ๊ฒŒ ๋‘ ๊ฐ€์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ๋กœ๋Š” ํ”„๋กœ์ ํŠธ์— ์ด๋ฏธ์ง€๋ฅผ ์ถ”๊ฐ€ํ•œ ํ›„ 'Attribute Inspector'์—์„œ ์ด๋ฏธ์ง€๋ฅผ ์„ ํƒํ•ด ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. imageView.image = UIImage(named: "lamp-on.png") ๋‘ ๋ฒˆ์งธ๋กœ๋Š” ์†Œ์Šค์ฝ”๋“œ์— ์ด๋ฏธ์ง€ ๋ทฐ ๊ฐ์ฒด๋ฅผ ์•„์›ƒ๋ › ๋ณ€์ˆ˜๋กœ ์ถ”๊ฐ€ํ•œ ํ›„ UIImage ํƒ€์ž…์˜ ์ด๋ฏธ์ง€๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. 3. ์ด๋ฏธ์ง€ ๋ทฐ ์ฝ˜ํ…์ธ  ๋ชจ๋“œ ์ด๋ฏธ์ง€ ๋ทฐ์—์„œ ์ด๋ฏธ์ง€๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ฝ˜ํ…์ธ  ๋ชจ๋“œ(Content .. 2022. 9. 28.
Outlet ๋ณ€์ˆ˜์™€ Action ํ•จ์ˆ˜ ์•„์›ƒ๋ › ๋ณ€์ˆ˜(Outlet Variable) ์Šคํ† ๋ฆฌ๋ณด๋“œ์—์„œ ์ถ”๊ฐ€ํ•œ ๊ฐ์ฒด์˜ ๋‚ด์šฉ์„ ๋ณ€๊ฒฝํ•˜๊ฑฐ๋‚˜ ํŠน์ •ํ•œ ๋™์ž‘์„ ํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ์ฒด์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•œ ๋ณ€์ˆ˜ 1. ์•„์›ƒ๋ › ๋ณ€์ˆ˜ ์ถ”๊ฐ€ 'Test'๋ผ๋Š” Label ๊ฐ์ฒด์•  ๋Œ€ํ•ด์„œ ์•„์›ƒ๋ › ๋ณ€์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. Label ๊ฐ์ฒด๋ฅผ ๋งˆ์šฐ์Šค ์˜ค๋ฅธ์ชฝ ๋ฒ„ํŠผ์œผ๋กœ ์„ ํƒํ•˜๊ณ , ๋ณด์กฐ ํŽธ์ง‘๊ธฐ ์˜์—ญ์œผ๋กœ ๋“œ๋ž˜๊ทธํ•˜์—ฌ ํด๋ž˜์Šค ์„ ์–ธ๋ฌธ ๋ฐ”๋กœ ์•„๋ž˜์— ํ•ด๋‹น ๊ฐ์ฒด๋ฅผ ๋Œ์–ด๋‹ค ๋†“์œผ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์—ฐ๊ฒฐ์„ ์ด ๋‚˜ํƒ€๋‚˜๊ณ , 'Insert Outlet or Outlet Collection'์ด๋ผ๋Š” ํ‘œ์‹œ๊ฐ€ ๋‚˜์˜ต๋‹ˆ๋‹ค. 2. ์•„์›ƒ๋ › ๋ณ€์ˆ˜ ์—ฐ๊ฒฐ ์„ค์ • ์•„์›ƒ๋ › ๋ณ€์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์—ฐ๊ฒฐ ์„ค์ •์ฐฝ์ด ๋‚˜์˜ต๋‹ˆ๋‹ค. ๋ณ€์ˆ˜๋ช…๊ณผ type, storage๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 3. ์•„์›ƒ๋ › ๋ณ€์ˆ˜ ์†Œ์Šค์ฝ”๋“œ @IBOutlet weak var te.. 2022. 9. 27.
๋ฐ˜์‘ํ˜•