0
私はこのコードを使用して、押されたレイヤーを探しています。CALayerをタッチ位置から別の方向に検索していますか?
- (CALayer *)layerForTouch:(UITouch *)touch {
UIView *view = self.view;
CGPoint location = [touch locationInView:view];
location = [view convertPoint:location toView:nil];
CALayer *hitPresentationLayer = [view.layer.presentationLayer hitTest:location];
if (hitPresentationLayer) {
return hitPresentationLayer.modelLayer;
}
return nil;
}
すべて正常に動作します。通常のポートレートモードです。
問題は、ビューを回転させて画面の上半分を押すと、位置は313,543に戻ります。横方向の画面の上部にあるので、Xの値は0にする必要がありますユーザーが現在どの向きにいるかによって、このコードのようなタッチポイントを作り直すことはできないようです。
向きによって実際のタッチポイントを取得する方法はありますか?