iOS谷歌地图方法UIView动画不工作

iOS谷歌地图方法UIView动画不工作,ios,swift,google-maps,google-api,uianimation,Ios,Swift,Google Maps,Google Api,Uianimation,所以我想在地图上隐藏并显示一个按钮,放大当前用户的位置 基本上,当地图不再以用户的位置为中心时,按钮就会出现,当它刚刚按下时就会消失 当按下按钮时,按钮会动画化,但在调用方法时,按钮不会动画化 我正在从GoogleMap的api委托调用一个方法,该方法在地图每次移动时都会被调用 这是我的密码: func showUserLocation() { mapView.isMyLocationEnabled = true self.locationManager.startUpdatin

所以我想在地图上隐藏并显示一个按钮,放大当前用户的位置

基本上,当地图不再以用户的位置为中心时,按钮就会出现,当它刚刚按下时就会消失

当按下按钮时,按钮会动画化,但在调用方法时,按钮不会动画化

我正在从GoogleMap的api委托调用一个方法,该方法在地图每次移动时都会被调用

这是我的密码:

func showUserLocation() {
    mapView.isMyLocationEnabled = true
    self.locationManager.startUpdatingLocation()

    let userLocation = mapView.myLocation

    if let loc = userLocation
    {
        centreMapOnLocation(location: loc)
        if myLocationButton.alpha == 1 {
            UIView.animate(withDuration: 0.4, animations: {
                self.myLocationButton.alpha = 0
            })
        }
    }
}

func mapView(_ mapView: GMSMapView, willMove gesture: Bool) {
    if myLocationButton.alpha == 0 {
        UIView.animate(withDuration: 0.4, animations: {
            self.myLocationButton.alpha = 1
        })
    }
}

调用
willMove
方法时,它只是出现,但没有动画。

尝试使用for show按钮

self.myLocationButton.ishiden=false

和隐藏按钮

self.myLocationButton.isHidden = true

尝试使用“显示”按钮

self.myLocationButton.ishiden=false

和隐藏按钮

self.myLocationButton.isHidden = true

ui.animate
块中添加以下行:

self.view.layoutIfNeeded()

view
是您试图设置动画的按钮的包含视图。这会告诉视图在视图的动画周期中重新绘制。

ui视图中。动画
块添加此行:

self.view.layoutIfNeeded()

view
是您试图设置动画的按钮的包含视图。这会告诉视图在视图的动画周期中重新绘制。

尝试在didMove方法中添加相同的代码Google maps没有didMove方法,只有
didChange
用于相机位置。我尝试了这个方法,但它在隐藏后被调用,这意味着在didMove方法中放入相同的代码Google maps没有didMove方法,只有
didChange
用于相机位置。我尝试了这个方法,但它被调用后,它变得隐藏意味着它再次出现