在app中新建一个uiwindow

通常用到的是keywindow 外, 或者将新window添加到keywindow中, 这里展示的是另外一种新的创建window的方式, 不废话, 直接上代码

import UIKit

 

class testViewController: UIViewController {

 

    private var win: UIWindow!

   

    override func viewDidLoad() {

        super.viewDidLoad()

        view.backgroundColor = .yellow

        let btn = UIButton(frame: CGRect(x: 0, y: 300, width: 40, height: 40))

        view.addSubview(btn)

        btn.backgroundColor = .red

        btn.addTarget(self, action: #selector(test), for: .touchUpInside)

        let blueView = UIView(frame: CGRect(x: 0, y: 0, width: 100, height: 100))

        blueView.backgroundColor = .blue

 

        win = UIWindow(frame: CGRect(x: 0, y: 0, width: 200, height: 200))

        win.windowLevel = UIWindow.Level.alert + 1 //windowLever越大展示越往前

        win.isHidden = false

        win.backgroundColor = .black

        win.addSubview(blueView)

    }

    

    @objc func test() {

        win.isHidden = true

        win = nil //必须写, 只有这个方法才能将wind从UIAppliction的 windows视图移出, 否则即使页面消失掉前去查看, 打印windows的counts发现window也是在的

        self.dismiss(animated: true, completion: nil)

    }

    

    deinit {

        if (win == nil) {

            print("window消失了")

        } else {

            print(win)

        }

    }

 

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值