UISearchBarは、iOS11とiOS10以下では動作が異なります。
私はこのコードでなんとかしてサイズを「修正」するために処理しました:
if #available(iOS 11.0, *) {
searchBar.heightAnchor.constraint(equalToConstant: 44).isActive = true
}
しかし、アニメーションを修正することはできません。プッシュ時に手動で検索バーをアニメーション化する以外に、何かアイデアはありますか?
UIView.animate(withDuration: 0.3, animations: { [weak self] in
guard let strongSelf = self else { return }
strongSelf.searchBar.alpha = 0.0
})
壊れたアニメーション効果のビデオを見る ここ 。
IPercentDrivenInteractiveTransition で答えを見てください。これは、persentage値のUINavigationController遷移中にUIViewを更新するために使用されます。
つまり、次のビューコントローラをすでに開いているUINavigationControllerの量に応じて、または後方に移動すると、ビューの外観が異なります。
この値は、検索バー(アルファ、幅など)を更新するのに役立ちます
UIViewでラップするだけで、アニメーションが戻ってきます。