0

質問は...

たくさんのCGPathで構成された平面測定を描いた親ビューがあります。さて、このアプリでは、他のCGPath(たとえば、椅子を表す線など)が描画されている親ビューにサブビューを挿入できます。今。誰かがタップダウンしてタップを押し続けると、コンテンツが拡大縮小されたハンドグラスが出てきたときにUITextViewが得たようなズーム効果を複製します。

たとえば、背景がサブビューrectにクリップされ、x2にスケーリングされた親コンテンツを表すサブビューを配置します。このように、サブビューの背景は親ビューではガラスのように見えます。

どうすればこれを実装できますか?

親コンテキストを取得してサブビューに渡し、親コンテキストをrectサブビューでクリッピングすることを考えました。しかし、何も起こりません。魔女が親CGContextについての画像表現を取り、それをサブビューに渡すことでCGImageContextについて赤字にしましたが、それをどのように実装するかわかりません。そして、それが正しい方法かどうかはわかりません。

誰かが私を助けてくれることを願っています(コードサンプルで素晴らしいでしょう)!

英語でごめんなさい。私は最善を尽くそうとしました:)

4

1 に答える 1

1

質問は自分で解決しました!

サブビューdrawrect:メソッドで私はこのコードを置きます:

- (void)drawRect:(CGRect)rect {
  // here we're just doing some transforms on the view we're magnifying,
  // and rendering that view directly into this view.
  // By 'touchPoint' i can select the exact portion of superview which
  // i want render in subview

   CGContextRef context = UIGraphicsGetCurrentContext();
   CGContextTranslateCTM(context,1*(self.frame.size.width*0.5),1*(self.frame.size.height*0.5));
   CGContextScaleCTM(context, 1.5, 1.5);
   CGContextTranslateCTM(context,-1*(touchPoint.x),-1*(touchPoint.y));
   [self.superview.layer renderInContext:context];
}

これが他の誰かを助けることができることを願っています:)

于 2012-06-07T11:24:44.583 に答える