Storyboard로 만든 View와 코드로 만든 View의 후면 관계에 대해

5028 단어 StoryboardiOSSwift

문제



【이상】
storyboard로 만든 Button을 코드로 만든 배경 위에 표시하고 싶습니다.

【문제】
버튼이 표시되지 않고 배경만 표시됩니다.
(배경 아래에 Button이 숨어있다)

확실히, 생각해 낸 해결안 → 작성하는 순서를 바꾸자! (먼저 코드로 배경을 만든 다음 storyboard에서 Button 만들기)

실패...

【해결책】
self.view.bringSubviewToFront(View)→ 맨 앞면에 View를 표시합니다.
self.view.sendSubviewToBack(View)→ 맨 뒷면에 View를 표시합니다.

이것을 사용해 【이상】대로의 실장을 실시해 보았습니다.

구현


  • 어시스턴트 편집기에서 프로그램에 연결합니다.


  • 2.View 후면 관계 설정

    이번에는 배경 위에 Button을 표시하고 싶으므로,
    self.view.bringSubviewToFront(btn)
    self.view.sendSubviewToBack(ImageView)이 된다.

    ViewController.swift
    import UIKit
    
    class ViewController: UIViewController {
    
        @IBOutlet weak var btn: UIButton!
        var image: UIImage = UIImage(named: "sample.jpeg")!
        var ImageView: UIImageView = UIImageView(frame: CGRectMake(0,0,750,1334))
    
        override func viewDidLoad() {
            super.viewDidLoad()
    
            ImageView.image = image
            ImageView.layer.position = CGPoint(x: self.view.bounds.width / 2,y: self.view.bounds.height / 2)
    
            self.view.addSubview(ImageView)
    
            self.view.bringSubviewToFront(btn)
            self.view.sendSubviewToBack(ImageView)
    
    
    
    
    
        }
    
        override func didReceiveMemoryWarning() {
            super.didReceiveMemoryWarning()
            // Dispose of any resources that can be recreated.
        }
    
    
    }
    
    

    3. 달리게 해 본 결과


    요약



    이번에는 주로 Storyboard에서 작성한 View, 코드로 작성한 View의 후면 관계에 대해 써 보았습니다만, Storyboard에서 작성한 View끼리의 후면 관계, 코드로 생성한 View끼리의 후면 관계도self.view.bringSubviewToFront()self.view.sendSubviewToBack()에서 구현 가능하므로 꼭 시도해보십시오.

    좋은 웹페이지 즐겨찾기