我有一个小问题,我无法弄清为什么会发生这种情况。更改UIView的框架无法正常工作
我有一个自定义的NavigationView。我的要求是在谷歌地图上点击时更改此NavigationView的框架。我的意思是我必须用动画显示和隐藏(切换)框架。
下面是我的代码: -
func mapView(_ mapView: GMSMapView, didTapAt coordinate: CLLocationCoordinate2D) {
if false == boolTapOnNavigationView {
UIView.animate(withDuration: 0.5, animations: {
self.viewNavigation.frame = CGRect(x: 0, y: -100, width: self.view.frame.width, height: 60)
//self.viewNavigation.isHidden = true
})
boolTapOnNavigationView = true
}
else {
UIView.animate(withDuration: 0.5, animations: {
//self.viewNavigation.isHidden = false
self.viewNavigation.frame = CGRect(x: 0, y: 20, width: self.view.frame.width, height: 60)
})
boolTapOnNavigationView = false
}
}
在我的代码,你可以看到我有一个叫做“boolTapOnNavigationView”标志。
这段代码工作正常,如果我将点击谷歌地图,但是当我点击同一ViewController中的任何其他按钮时,那个NavigationView的框架会自动反射。
它不是明确什么是你的问题实际上!你是否已经将委托添加到视图控制器'mapView.delegate = self'?或者你可以说,你在哪里面临复杂性? –
是的mapView.delegate =自己添加。 我的问题是我有一个自定义的导航视图上的谷歌地图。 我想改变框架,同时点击谷歌地图。 谢谢 – kishor0011
只需尝试更改mapview fram,并检查问题是否存在? – user3575114