2011-06-30 5 views
1

私は2つのビューを持っています:viewA、viewBCGPoint質問

私は回転させてズームしましたviewAその後私はビューBをサブビューとして追加し、ビューBにジェスチャーを追加しました。

私はエンドポイントは私がそれにセーブポイントです

NSLog(@"Before teh conversion %f" , viewB.endPoint.x) ; 

CGPoint aPtInScrollView = [viewB convertPoint:viewB.endPoint toView:viewA ]; 

NSLog(@"After teh conversion %f" , aPtInScrollView.x) ; 

を試してみまし考慮して回転やズーム

を入れ、viewAに関連viewB上のタッチの位置を取得したいですタッチ。

しかし、それは同じポイントを返し、私は回転やズームの効果を見たいと思って、私はviewAの場所の大きさを意味し、..は変更されているので、ポイントの位置が

viewAを変更する必要がありますし、 viewB hs [self.view frame]の最初のフレーム

これを行うための提案はありますか?

+0

'viewB'は' viewA'の境界全体を占有していますか? –

+0

はい、それは同じです – AMH

答えて

0

viewBは全体の範囲がviewAであると言いますから、同じ点が得られるのはその理由です。

viewAのフレームが(10,10,40,40)であるとします。サブビュー内のポイント(20,20)もviewAに(20、20)になるように、フレームが(0、0、40、40)であるサブビューを追加します。あなたはviewAのスーパービューの座標空間で、(30,30)になります。あなたはそれをする必要があります。

CGPoint aPtInScrollView = [viewB convertPoint:viewB.endPoint toView:viewA.superview]; 
+0

は、回転とビューの倍率を考慮に入れるでしょう – AMH

+0

とviewAのsuperviewの座標で何を意味するのですか – AMH

+0

はい。私があなたの要求を理解しているので、あなたが望むものをあなたに与えるはずです。私はあなたの質問を誤解している可能性があります。なぜ私たちは 'viewA'のスーパービューを使用しているのですか?そのスーパービューに関して、もしあれば翻訳が表示されます。 'viewA'の中には、すべてがそのまま残っています。 –