Это хороший способ использования ограничений? - PullRequest
0 голосов
/ 05 мая 2019

Мне было интересно, установлены ли мои ограничения так, как они ожидаются, я немного скептически отношусь, потому что иногда мне кажется, что процесс изменения frame.size.height вызывает немного дрянной анимации

Например: у меня есть UINavigationController и WKWebView, прокрутка WKWebView скрывает / показывает UINavigationBar из UINavigationController соответственно, поэтому в этом процессе я изменяю navigationBar.frame.origin.y, navigationBar.alpha асинхронно используя UIView.animate используя WKWebView 'UIScrollViewDelegate

Я использовал программную настройку ограничений, как будто я WKWebView в построителе интерфейса по какой-то причине вылетает из приложения.

Я покажу вам код:

Установочные ограничения:

func setAndConstraint() {

    webviewContainer.leftAnchor.constraint(equalTo: view.leftAnchor).isActive = true
    webviewContainer.rightAnchor.constraint(equalTo: view.rightAnchor).isActive = true
    webviewContainer.topAnchor.constraint(equalTo: navigationBar.bottomAnchor).isActive = true
    webviewContainer.bottomAnchor.constraint(equalTo: view.bottomAnchor).isActive = true
    progressView.leftAnchor.constraint(equalTo: webviewContainer.leftAnchor).isActive = true
    progressView.rightAnchor.constraint(equalTo: webviewContainer.rightAnchor).isActive = true
    progressView.topAnchor.constraint(equalTo: webviewContainer.topAnchor).isActive = true
    sharedWebManager.currentWebview().leftAnchor.constraint(equalTo: webviewContainer.leftAnchor).isActive = true
    sharedWebManager.currentWebview().rightAnchor.constraint(equalTo: webviewContainer.rightAnchor).isActive = true
    sharedWebManager.currentWebview().topAnchor.constraint(equalTo: webviewContainer.topAnchor).isActive = true
    sharedWebManager.currentWebview().bottomAnchor.constraint(equalTo: webviewContainer.bottomAnchor).isActive = true
    constraintsDidSet = true
}
...