"imageView"というオブジェクトがありますが、 "imageView"がクリックされたときに必ず "clicouCrosshair"という関数を呼び出す必要がありますが、機能しません。私はインターネット上で見つけたいくつかのチュートリアルを試しましたが、成功はありません。誰もがなぜ、どのように私はこれを解決することができます知っている?クリックしてUIImageView SWIFTが機能しない
私はGMSMapViewとして私のビューを使用しているので、問題だと思っています。 "prepareMap"関数の中で、 "UIImageView"が設定されています。
import UIKit
import GoogleMaps
class Maps_criarArea: UIViewController {
var projNome:String!;
var mapView:GMSMapView!;
var imageView:UIImageView!;
func clicouCrosshair(sender: AnyObject){
print("CROSSHAIR");
}
override func viewDidLoad() {
super.viewDidLoad();
GMSServices.provideAPIKey("AIzaSyB62KDZSGfbbN1IIVnlhewi4PpEZmxPJYM");
let centerBR_lat = -15.30;
let centerBR_lng = -49.57;
let cameraP = GMSCameraPosition.cameraWithLatitude(centerBR_lat, longitude: centerBR_lng, zoom: 4);
mapView = GMSMapView.mapWithFrame(CGRectZero, camera: cameraP)
mapView.myLocationEnabled = true
view = mapView;
self.prepareMap();
}
func prepareMap(){
let imageName = "crosshair";
let image = UIImage(named: imageName);
imageView = UIImageView(image: image!);
let screenSize: CGRect = UIScreen.mainScreen().bounds;
let WidthPosition = (screenSize.width*0.5)-32;
let heightPosition = (screenSize.height*0.5)-32;
imageView.frame = CGRect(x: WidthPosition, y: heightPosition, width: 64, height: 64);
imageView.userInteractionEnabled = true;
let detectTap = UITapGestureRecognizer(target: self, action: #selector(self.clicouCrosshair(_:)) )
//detectTap.numberOfTapsRequired = 1
imageView.addGestureRecognizer(detectTap)
mapView.addSubview(imageView);
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
//returning to view
override func viewWillAppear(animated: Bool) {
let saveBtn : UIBarButtonItem = UIBarButtonItem(title: "Salvar", style: UIBarButtonItemStyle.Plain, target: self, action: #selector(Maps_criarArea.salvar(_:)))
self.navigationItem.rightBarButtonItem = saveBtn
}
func salvar(sender:UIBarButtonItem){
}
}
まずすべて、あなたがviewWillAppearをオーバーライドした場合、それをsuper.viewWillAppear(アニメーション)と呼びます。 – Yannick
よかったです。しかし、まだそこに問題があります: – Xidh
あなたのセレクタが正しく見えません。代わりに – Yannick