1

画像の上に半透明の形を描画しようとしています。

UIViewレイヤーのコンテンツが画像に設定され、CAShapeLayerサブレイヤーのパスがシェイプに設定されているがあります。のズームの子であるUIViews親の中にこれらのいくつかがあります。UIViewUIScrollView

iPhoneではすべて問題ありませんが、iPadでズームインすると、UIViewsかなり大きくなり、CAShapeLayers消えます。ただし、画像は正常に表示されます。サイズの問題だと思ったCAShapeLayersので、2つに分けて左右に分けました。これで、ユーザーが実際にズームインしない限り、両方が表示されます。たとえば、最大ズームを超えて「ピンチを解除」している間は、跳ね返る直前です。

私をさらに分割するCAShapeLayersことは実行可能ですが、少し面倒です。だから、私はいくつかの質問があります:

  1. の最大サイズの制約はありCAShapeLayersますか?レイヤーの画像コンテンツに適用されないのはなぜですか?
  2. CAShapeLayersズームピンチ中に再描画するのはなぜUIScrollViewですか?ズームビュー全体(UIScrollView's直接の子)をインチの間にラスタライズするべきではありませんか?どうすればそうできますか?
4

1 に答える 1

1

私のコンピュータ(2006 MacBook)の最大領域は1024*1024であることがわかりました。

iPadのフルスクリーンシェイプの高さは1004ピクセルで、最大幅は約1044ピクセルになります。たとえば、水平スクロールビューで大きなシェイプが必要な場合などです。

ピンチバウンスズームを使用すると、形状の実際の高さが大きくなり、最大幅が約250ピクセルに押し下げられます。これは私が望むよりも狭いですが、実行可能です。

これは物理的なiPadでは異なる場合がありますが、これらは私の開発ボックスのシミュレーターの制限です。

于 2010-09-04T21:29:35.513 に答える