Пытаетесь изменить фрейм UIView в быстром, пока приложение работает? - PullRequest
0 голосов
/ 09 октября 2019

Я пытаюсь изменить рамку 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)")


}

1 Ответ

0 голосов
/ 09 октября 2019

Добавьте self.setNeedsDisplay() после смены кадра.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...