试图在应用运行时迅速更改UIView的框架吗?

问题描述 投票:0回答:1

我正在尝试更改设备的方向但似乎没有任何作用时,更改UIView的框架。这是我的代码:

override func viewDidLayoutSubviews() {
    super.viewDidLayoutSubviews()

    guard
        let portraitScreenView = viewScreenSizePortrait,
        let overLay = overLayView else{return}

    if UIDevice.current.orientation.isPortrait{
        print("isPortrait")
        overLay.frame = CGRect.init(x: 0, y: 0, width: portraitScreenView.width, height: portraitScreenView.height)
        self.overLayView.frame = overLay.frame
    }else{
        print("isLandscape")
        overLay.frame = CGRect.init(x: 0, y: 0, width: portraitScreenView.height, height: portraitScreenView.width)
        self.overLayView.frame = overLay.frame
    }

    print("self.overLayView.frame: \(self.overLayView.frame)")


}
swift
1个回答
0
投票

更改帧后添加self.setNeedsDisplay()

© www.soinside.com 2019 - 2024. All rights reserved.