2017-07-22 15 views
0

私はmapView(google maps)と他のいくつかのコントローラを含むビューを持っています。 1つはsearchBarです。問題は、私が検索バーを(addSubViewを使って)地図上に置くと、検索バーの中をクリックしようとすると、何も表示されないということです...私はxcodeとswiftが初めてで、問題。xcode searchBar over google map not working

This is the hierarchy of the controllers

その後、のviewDidLoadで私が "mapView.addSubView(検索バー)..." やった

As result I can see the searchBar but if I click inside, it doesn't work (is not responding and I can't write anything to search

私が間違っているのか?

編集:私は前に言ったように、検索バーが正しく表示されている

mapView.addSubview(zoomInButton) 
mapView.addSubview(zoomOutButton) 
mapView.addSubview(trafficButton) 
mapView.addSubview(satelliteButton) 
mapView.addSubview(searchBar) 
mapView.addSubview(advSearchButton) 
mapView.addSubview(logoIcon) 
mapView.moveCamera(GMSCameraUpdate.setCamera(camera)) 

が、私はそれ内部の何かを書き込むことはできません..:ここ

@IBOutlet weak var searchBar: UISearchBar! 
@IBOutlet weak var mapView: GMSMapView! 
@IBOutlet weak var advSearchButton: UIButton! 

@IBOutlet weak var logoIcon: UIImageView! 
@IBOutlet weak var trafficButton: UIButton! 
@IBOutlet weak var satelliteButton: UIButton! 
@IBOutlet weak var zoomInButton: UIButton! 
@IBOutlet weak var zoomOutButton: UIButton! 

は、私がのviewDidLoadで何をすべきかです。

+0

画像は、ここで試したコードを注意してください、注目を集めていません。 –

答えて

0

検索バーをマップビューに配置するのはなぜですか?マップビューと同じレベルにマップします。他の要素も。このような親子依存関係がなくても、制約を使用してビューを見つけることは可能です。

+0

ストーリーボードでXcodeを動かすと、Xcodeが自動的にそこに置かれます... – Davide

+0

とにかくボタンは完全に動作しています...唯一の問題は検索バーであり、問​​題を理解できません。私はボタンと検索バーの両方で同じことをしました – Davide

+0

それでは 'mapView.superview.addSubview(searchBar)' – Vyacheslav

0

GMSMapViewの認識者が検索バーを最初のレスポンダにしないため、タッチを検出できないため、検索バーが機能しません。

gmsmapViewのジェスチャーレコーダーを削除してから、検索バーがタッチの検出を開始することがあります。

この行を追加すると、mapView.gestureRecognizers?.removeAll()と検索バーがタップを検出します。