ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [UIKit] ๋ทฐ ํƒœ๊น… ์‚ฌ์šฉํ•ด๋ณด๊ธฐ (View Tagging)
    iOS/๐Ÿค– App 2021. 3. 5. 15:19
    ์ฐธ๊ณ  ๊ธ€: developer.apple.com/documentation/uikit/uiview/1622493-tag

     

    ๋ทฐ ์ปจํŠธ๋กค๋Ÿฌ์—์„œ ๋ทฐ์— ์ ‘๊ทผํ•˜๋ ค๋ฉด ๋ณดํ†ต @IBOutlet ์„ ํ†ตํ•ด ์ฐธ์กฐ๋ฅผ ์–ป์–ด์„œ ์ ‘๊ทผํ•ฉ๋‹ˆ๋‹ค.

     

    ์ด ์™ธ์— ๋˜ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์ด ์žˆ๋Š”๋ฐ, ๋ฐ”๋กœ View Tagging ์ž…๋‹ˆ๋‹ค.

     

    ๊ฐ๊ฐ์˜ ๋ทฐ์— ํƒœ๊ทธ ๊ฐ’์„ ๋ถ€์—ฌํ•ด์„œ, UIView ์˜ ์ธ์Šคํ„ด์Šค ๋ฉ”์†Œ๋“œ์ธ viewWithTag(_:) ์— ํƒœ๊ทธ ๊ฐ’์„ ์ „๋‹ฌํ•˜์—ฌ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

     

     

    Attribute Inspector ์—์„œ ํƒœ๊ทธ ๊ฐ’ ์„ค์ • ๊ฐ€๋Šฅ


     

    ์‚ฌ์šฉ ์˜ˆ์‹œ

    class MyViewController: UIViewController {
    
      override func viewDidLoad() {
          super.viewDidLoad()
          
          /* 1 */
          let myView = view.viewWithTag(0)
      }
    }

     

    /* 1 */

    UIViewController์˜ view ์†์„ฑ์€ ์ตœ์ƒ์œ„ ๋ทฐ์ธ ์ปจํ…ํŠธ ๋ทฐ ( = ๋ฃจํŠธ ๋ทฐ ) ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

     

    viewWithTag(_:) ๋Š” UIView ์˜ ์ธ์Šคํ„ด์Šค ๋ฉ”์†Œ๋“œ์ด๋ฏ€๋กœ ์–ด๋– ํ•œ UIView ์—์„œ๋„ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

     

    ์œ„ ์ฝ”๋“œ๋Š” ์ปจํ…ํŠธ ๋ทฐ์—์„œ ์œ„ ๋ฉ”์†Œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜๊ณ , ๋ฐ˜ํ™˜๋œ ๋ทฐ์˜ ์ฐธ์กฐ๋ฅผ myView ์ƒ์ˆ˜์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

     


    ๋‚ด๋ถ€์ ์œผ๋กœ๋Š” ์–ด๋–ค ์ผ์ด ์ผ์–ด๋‚ ๊นŒ์š”?

     

    1. ๋ฉ”์†Œ๋“œ๋ฅผ ํ˜ธ์ถœํ•œ ๋ทฐ๊ฐ€ ์ „๋‹ฌ๋œ ํƒœ๊ทธ ๊ฐ’ (์—ฌ๊ธฐ์„œ๋Š” 0) ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ง€ ํ™•์ธํ•œ๋‹ค. -> ๋งž์œผ๋ฉด ๋ฐ˜ํ™˜

     

    2. ๋ฉ”์†Œ๋“œ๋ฅผ ํ˜ธ์ถœํ•œ ๋ทฐ์˜ ํ•˜์œ„ ๊ณ„์ธต์˜ ๋ทฐ๋“ค์„ ์ฐจ๋ก€๋กœ ๊ฒ€์‚ฌํ•œ๋‹ค. -> ์ฐพ์œผ๋ฉด ๋ฐ˜ํ™˜


    3. ๋‹ค ์ฐพ์•„๋„ ์—†์œผ๋ฉด nil ๋ฐ˜ํ™˜


    ๊ทธ๋ ‡๋‹ค๋ฉด ์œ„ ์ฝ”๋“œ๊ฐ€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ƒํ™ฉ์— ์‹คํ–‰๋˜์—ˆ๋‹ค๋ฉด ๊ฒฐ๊ณผ๊ฐ€ ์–ด๋–ป๊ฒŒ ๋ ๊นŒ์š”?

     

    ์ƒํ™ฉ : ๋ชจ๋“  ๋ทฐ์˜ ํƒœ๊ทธ ๊ฐ’์ด 0์œผ๋กœ ์„ค์ •๋˜์–ด ์žˆ์Œ

     

    ๊ฒฐ๊ณผ : ์œ„์˜ 1๋‹จ๊ณ„์— ์˜ํ•ด ์ž์‹ ์„ ๋ฐ˜ํ™˜ํ•จ

     

    ์ดํ•ด๊ฐ€ ๊ฐ€์‹œ๋‚˜์š”?

     

    ๋‚ด๊ฐ€ UIImageView ์˜ค๋ธŒ์ ํŠธ์— ์ ‘๊ทผํ•˜๊ณ  ์‹ถ์€๋ฐ, ํƒœ๊ทธ ๊ฐ’์ด 0์ž…๋‹ˆ๋‹ค.

     

    ๊ทธ๋Ÿฐ๋ฐ ์ƒ์œ„ ๊ณ„์ธต์˜ ๋ทฐ๊ฐ€ ์ด๋ฏธ ์ค‘๋ณต๋œ ํƒœ๊ทธ ๊ฐ’ 0์„ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฏ€๋กœ ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋Š” ์ƒํ™ฉ์ด ๋ฐœ์ƒํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.


     

    ์ •๋ฆฌ

    1.  @IBOutlet ๋Œ€์‹  ํƒœ๊ทธ ๊ฐ’์œผ๋กœ ๋ทฐ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด View Tagging ์ž…๋‹ˆ๋‹ค.

     

    2. ์”ฌ ๋‚ด์˜ ๋ทฐ์˜ ์ˆ˜๊ฐ€ ์ ๋‹ค๋ฉด ์œ„์˜ ์ƒํ™ฉ (์ค‘๋ณต ํƒœ๊ทธ ๊ฐ’์œผ๋กœ ์˜๋„ํ•˜์ง€ ์•Š๋Š” ๋ทฐ๋ฅผ ๋ฐ›๊ฒŒ ๋˜๋Š”) ์ด ์ผ์–ด๋‚˜์ง€ ์•Š๊ฒŒ ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ,

    ๋ทฐ์˜ ์ˆ˜๊ฐ€ ๋งŽ์•„์ง€๋ฉด ๋ชจ๋“  ํƒœ๊ทธ ๊ฐ’์„ ๊ด€๋ฆฌํ•˜๊ธฐ ์–ด๋ ค์›Œ์งˆ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

     

    3. ๋”ฐ๋ผ์„œ ๋ณดํ†ต  @IBOutlet ์„ ์ด์šฉํ•˜์—ฌ ๋ทฐ์— ์ ‘๊ทผํ•ฉ๋‹ˆ๋‹ค.

     

     

     

    ๋!


     

     

     

    ๋Œ“๊ธ€

์–ด์ œ๋ณด๋‹ค ๋ฐœ์ „ํ•œ ๋‚˜