私は小さな問題を抱えていますが、なぜこれが起こっているのか理解できません。UIViewのフレームを変更するとうまく動作しません。
私はカスタマイズされたNavigationViewを持っています。私の要件は、このNavigationViewのフレームをGoogleマップでタップすると変更することです。アニメーションでフレームを表示/非表示(トグル)する必要があります。以下は
私のコードです: - 私のコードで
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」と呼ばれる旗を持って見ることができます。
Googleマップでタップすると、そのコードはうまくいきますが、同じViewControllerの他のボタンをタップすると、そのNavigationViewのフレームが自動的に反映されます。
そのフレームではないセンターを変更する必要がない明確な問題が実際に何ですか!ビューコントローラ 'mapView.delegate = self'にデリゲートを追加しましたか?あなたは複雑さに直面していると言いたいことはありますか? –
ありmapView.delegate =自己追加済みです。 私の問題は、私はGoogleマップの上にカスタマイズナビゲーションビューがあります。 Googleマップでタップしながらフレームを変更したいと思います。 ありがとう – kishor0011
mapview framを変更して問題が存在するかどうかを確認してください。 – user3575114