iOS 13 модальная презентация + навигационный контроллер очень глючит - PullRequest
0 голосов
/ 04 ноября 2019

Поскольку Apple изменила анимацию модальной презентации, у меня много проблем с пользовательским интерфейсом при простой модальной презентации.

Пример 1: ViewController, встроенный в контроллер навигации со стандартным названием, имеет разрыв между navigationBar и viewController

enter image description here

Пример 2: ViewController, встроенный в контроллер навигации с большим заголовком, имеет разрыв между navigationBar и viewController

enter image description here

Это происходит, если я делаю передачу в раскадровке программно следующим образом:

let cityNaviagtionVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "cityNavigationVC") as! UINavigationController
self.present(cityNaviagtionVC, animated: true, completion: nil)

Во втором примере я использую градиент вфон, это может быть фактором. Я использую это расширение:

func setBackgroundGradient(startColor:UIColor, endColor:UIColor, size:CGSize, horizontally:Bool) {

    let gradientLayer = CAGradientLayer()
    gradientLayer.frame = CGRect(x: 0, y: 0, width: size.width, height: size.height)
    gradientLayer.colors = [startColor.cgColor, endColor.cgColor]
    if horizontally {
        gradientLayer.startPoint = CGPoint(x: 0.0, y: 0.5)
        gradientLayer.endPoint = CGPoint(x: 1.0, y: 0.5)
    } else {
        gradientLayer.startPoint = CGPoint(x: 0.5, y: 0.0)
        gradientLayer.endPoint = CGPoint(x: 0.5, y: 1.0)
    }

    UIGraphicsBeginImageContext(gradientLayer.bounds.size)
    gradientLayer.render(in: UIGraphicsGetCurrentContext()!)
    let image = UIGraphicsGetImageFromCurrentImageContext()
    UIGraphicsEndImageContext()

    self.barTintColor = UIColor(patternImage: image!)

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