Я обнаружил проблему в анимации UISearchController, когда она нажата, и мне удалось воспроизвести ее в простом проекте, который я присоединяю.
В основном, когда я касаюсь UISearchController, содержимое, которое оно ниже, привязывается в начало view.safeAreaLayoutGuide до завершения анимации. Что вызывает не очень плавную анимацию.
Вы можете увидеть появление в этом небольшом видео: https://streamable.com/y1tzn
Единственное, что я делаю в своем ViewController, это:
private lazy var text: UILabel = {
let label = UILabel()
label.text = "dfgh"
label.translatesAutoresizingMaskIntoConstraints = false
return label
}()
override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = .white
setupSearchController()
setupLabel()
}
func setupSearchController() {
let searchController = UISearchController(searchResultsController: nil)
searchController.searchBar.placeholder = "Search for names and emails"
navigationItem.searchController = searchController
}
func setupLabel() {
view.addSubview(text)
text.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor).isActive = true
text.leadingAnchor.constraint(equalTo: view.safeAreaLayoutGuide.leadingAnchor).isActive = true
}
И на SceneDelegate:
guard let windowScene = (scene as? UIWindowScene) else { return }
window = UIWindow(windowScene: windowScene)
let vc = ViewController()
let nc = UINavigationController(rootViewController: vc)
window?.rootViewController = nc
window?.makeKeyAndVisible()
TestProject
Кто-нибудь есть какие-либо идеи о том, как решить эту проблему?
Спасибо всем
РЕДАКТИРОВАТЬ: Добавлено Git Репо