View Controller 뷰의 다른 뷰에서도 safe Area Layout Guide가 유효합니까?

세 바퀴 늦게 AutoLayout을 사용했습니다.잘 부탁드립니다.
이번 주제는요.
View Controller 뷰의 다른 뷰에서도 safe Area Layout Guide가 유효합니까?
태그 요소의 표시 속성을 수정합니다.
모르는 사람에게는 새롭고, 아는 사람에게는 그리운 기사가 목표다.

결론


유효하다.

코드

class ViewController: UIViewController {

    let testView1 = UIView()
    let testView2 = UIView()

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.

        view.addSubview(testView1)
        testView1.addSubview(testView2)

        testView1.backgroundColor = .red
        testView2.backgroundColor = .blue

        testView1.translatesAutoresizingMaskIntoConstraints = false
        testView1.widthAnchor.constraint(equalToConstant: 100.0).isActive = true
        testView1.heightAnchor.constraint(equalToConstant: 100.0).isActive = true
        testView1.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
        testView1.bottomAnchor.constraint(equalTo: view.bottomAnchor).isActive = true

        testView2.translatesAutoresizingMaskIntoConstraints = false
        testView2.widthAnchor.constraint(equalToConstant: 50.0).isActive = true
        testView2.heightAnchor.constraint(equalToConstant: 50.0).isActive = true
        testView2.centerXAnchor.constraint(equalTo: testView1.centerXAnchor).isActive = true

        //↓↓↓これです↓↓↓
        testView2.bottomAnchor.constraint(equalTo: testView1.safeAreaLayoutGuide.bottomAnchor).isActive = true
    }
}

결과


이것은 시뮬레이터에서 실행되는 아이폰11의 화면 아래 부분이다.

빨간색은 기초적인view에 앉아 있다.
파란색이 빨간색 위에 앉다.
빨간색 safe Area Layout Guide.bottomAnchor는 파란색 bottom과 같습니다.

마지막


슈퍼-sub 관계를 건너뛰고 싶다면viewController 바로 아래에 있는view의safeAreaLayoutGuide에 직접 방문하는 것도 좋습니다.이 근처의 기준을 몰라서 슈퍼-sub 관계에서 할 수 있는 코드를 써서 확인했어요.

덧붙이다


자동 판면 디자인을 할 때 나온 의문이라 자동 판면 디자인 얘기로 쓰려고 하는데, 안전 area 얘기를 잘 생각하면 말이 안 돼요.

좋은 웹페이지 즐겨찾기