0

我有一张图像,我使用金属(https://github.com/ejeinc/MetalScope)将其转换为 360 度全景图像。如何在门上添加一个按钮(见屏幕截图) ,以便通过单击它,它会转到具有不同全景图像的下一个控制器(另一个房间)

github项目:https ://github.com/Mahnach/MetalRender

4

1 回答 1

-1

您可以在图像上添加一个点击手势识别器,然后获取点击图像的点。如果在门附近敲击它,请执行到下一个控制器的 segue。如果您不确定门区域在哪里,您可以打印出触摸点并查看您正在点击的图像上的位置。

override func viewDidLoad() {
    super.viewDidLoad()

    //Create Tap Gesture
    let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(tapAction(_:)))

    //Enable image user interaction
    self.imageView.isUserInteractionEnabled = true

    //Add Tap gesture to the image
    self.imageView.addGestureRecognizer(tapGestureRecognizer)
}

@objc func tapAction(_ sender: UITapGestureRecognizer){

    //Get the touch point
    let touchPoint = sender.location(in: self.imageView)

    //Set the door area
    let doorArea = CGRect(x: 200.0, y: 100.0, width: 75.0, height: 100.0)

    //Then check if touch point is near door
    if doorArea.contains(touchPoint){
        //Peform segue
        performSegue(withIdentifier: "nextScene", sender: nil)
    }
}
于 2017-11-08T16:27:39.187 回答