Swift 动画图像视图,在另一个动画图像之后获取上一个布局

Swift 动画图像视图,在另一个动画图像之后获取上一个布局,swift,uiviewanimation,Swift,Uiviewanimation,我有一个图像视图,显示带有点图标的活动屏幕。当用户滚动collectionview以更改页面时,图像视图的x位置设置位于所选页面的中心,当按下搜索按钮时,屏幕顶部有一个搜索栏,显示带有动画的搜索栏,但点图像返回带有动画的第一个布局 以下是我的点图像视图动画: func scrollViewDidScroll(_ scrollView: UIScrollView) { if scrollView == collectionview { let x = (s

我有一个图像视图,显示带有点图标的活动屏幕。当用户滚动collectionview以更改页面时,图像视图的x位置设置位于所选页面的中心,当按下搜索按钮时,屏幕顶部有一个搜索栏,显示带有动画的搜索栏,但点图像返回带有动画的第一个布局

以下是我的点图像视图动画:

func scrollViewDidScroll(_ scrollView: UIScrollView) {
        if scrollView == collectionview  {
            let x = (scrollView.contentOffset.x / view.frame.width)
            if x >= 0.0 && x < 0.5 {
                UIView.animate(withDuration: 0.3) {
                    self.selectedDot.center.x = self.tabMainButton.center.x
                    self.view.layoutIfNeeded()
                }
            } else if x == 0.5 {
                UIView.animate(withDuration: 0.3) {
                    self.selectedDot.center.x = self.tabFavoriteButton.center.x
                    self.view.layoutIfNeeded()
                }
            } else if x > 0.5 {
                UIView.animate(withDuration: 0.3) {
                    self.selectedDot.center.x = self.tabFavoriteButton.center.x
                    self.view.layoutIfNeeded()
                }
            }
        }
    }
@IBAction func searchButtonClicked(_ sender: Any) {
        if isSearchActive {
            searchBar.endEditing(true)
            UIView.animate(withDuration: 0.2) {
                self.searchHeight.constant = 0
                self.view.layoutIfNeeded()
            }
        } else {
            UIView.animate(withDuration: 0.2) {
                self.searchHeight.constant = 56
                self.view.layoutIfNeeded()
            }
        }
        self.collectionview.reloadData()
        isSearchActive = !isSearchActive
    }

以下是图片:

那么,您想要实现什么?当用户在屏幕中间滚动内容时,动画会将点从一个选项卡移动到另一个选项卡。当在第二个屏幕中,点图像位于第二个选项卡栏按钮下方,但当用户单击搜索栏按钮,搜索栏出现时,点图像突然位于第一个选项卡下方,而用户仍在第二个屏幕中(collectionview中的第二个单元格)@bestiosdeveloper有什么建议吗?