NavigationBar가 포함된 화면에서 View로 전체 화면을 덮어쓰는 방법

3174 단어 SwiftiOS

개시하다


n차전
· AppDelegate의 window에 대해addSubview를 하지 않음
· Storyboard의 View 위젯 사용

전체 화면을 덮어쓰는 View를 표시하려는 경우


할인 있죠?통신 처리 과정에서 화면을 만지고 싶지 않을 때 지시기와 함께 문자를 보내 검은색 투명한 뷰를 표시하는 것.
NavigationBar 없이 self를 특별히 의식하지 못했습니다.뷰 맨 앞에 덮어쓰고 싶은 뷰를 추가하면 되지만 NavigationBar가 있으면 덮어쓰지 않습니다.
이런 느낌.

이 대응법으로는 앱 딜게이트가 보유한 윈도 실례에 뷰를 추가하는 방법도 있지만, 때로는 버그의 온상이 될 수 있는 온상을 붙이거나 떼어내기 때문에 가능하면 하지 않는 방법으로 하고 싶다.

NavigationBar 패턴 덮어쓰기


이렇게 하다

이루어지다


• 착용하고 싶은 ViewController 부품에 착용 가능한 View 준비
->하고 싶은 VIew를 idden에 먼저 걸어주세요.
 -> Viewcontroller.포인트는 뷰에 설정하지 않는 거예요.
->ViewController 부품에 덮을 View 부품 표시

・ 코드는 다음과 같습니다.
 -> self.navigationController?.view.addSubview(self.coverView)는 키모입니다.
ViewController.swift

    @IBOutlet private weak var coverView: UIView!

    override func viewDidLoad() {
        super.viewDidLoad()
        // ここがキモ
        self.navigationController?.view.addSubview(self.coverView)
    } 

     // MARK: - Action

    @IBAction func didTapShowButton() {
        self.coverView.isHidden = false
    }

    @IBAction func didTapCloseButton() {
        self.coverView.isHidden = true
    } 

코드 여기 있어요.

좋은 웹페이지 즐겨찾기