問題タブ [catiledlayer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
2785 参照

iphone - CATiledLayerを使用せずにiOSで大きな画像を表示およびズームする

写真アプリとほぼ同じ方法で、iPhoneとiPadで大きな画像を表示してズームできるようにしたいと思います。

CATiledLayerがこのためのgotoクラスであることは理解していますが、CATiledLayerが使用する美学は私のアプリケーションでは機能しません。写真アプリが画面全体を一度にレンダリングする間、タイルを次々にレンダリングします(そして、アプリが追いつくまで、ズーム中およびズーム後にピクセル化されたバージョンを表示します)。

ズームするたびに画像を背景にレンダリングするビューを確実に実装できます。ただし、ソースイメージが大きくなると、アプリがクラッシュします。したがって、タイリングは魅力的です。すべてのタイルの準備が整うまで画面を更新しないことをお勧めします(その間、低解像度の画像を表示します)。

誰かがこのようなものを実装しようとしましたか?何か案は?

0 投票する
3 に答える
1098 参照

objective-c - UIScrollViewでCATiledLayerを使用したビューの画像スナップショットを取得する

で作られたカスタムマップビューがありUIScrollViewます。スクロールビューのサブビューは。で裏打ちされていCATiledLayerます。ここではすべてがうまく機能します。パンとズームは新しいマップタイルをロードし、すべてがうまく機能します。

私がやりたいのは、アニメーションのビデオのフレームをこのスクロールビューにキャプチャすることです。contentOffset基本的に、スクロールビューとのアニメーション化された変更のビデオを作成したいと思いますzoomScale

プライベートAPI関数UIGetScreenImage()を取得してアプリの画面をたとえば10fpsでキャプチャし、これらの画像を組み合わせて、スクロールビューアニメーションで使用されるタイミングカーブを備えたスムーズな再生アニメーションを取得できるため、コンセプトは適切であることがわかります。

もちろん、私の問題は、プライベートAPIを使用できないことです。ここでAppleが概説した代替案を検討するCALayerと、おそらく有効な選択肢が1つ残っていrenderInContextますUIGraphicsGetImageFromCurrentImageContext()

CATiledLayerただし、これは裏付けのあるビューでは機能しないようです。ブロック状のズームされていない画像は、高解像度のタイルが読み込まれないかのようにキャプチャされます。CATiledLayerパフォーマンスのためにバックグラウンドスレッドを描画し、メインスレッドから呼び出すとrenderInContext、これらの更新がキャッチされない可能性があることを考えると、これはある程度理にかなっています。タイルレイヤーもレンダリングしても、結果は同じpresentationLayerです。

CATiledLayerスクロールビューのアニメーションを含む過程で、Appleが認可したバックビューの画像をキャプチャする方法はありますか?またはいつでも、そのことについては?

0 投票する
1 に答える
719 参照

ipad - iOSのCATiledLayerでPDFをレンダリングするlevelOfDetailとlevelOfDetailBiasの値

私はCATiledLayersでPDFをレンダリングするプロジェクトを開発しています.CGPdfクラスメソッドを使用してpdfをレンダリングし、成功しました。

通常モードまたはズーム モードでメモリの問題を回避するために、 levelsOfDetailおよびlevelsOfDetailBiasに使用される値を知りたいです。現在、以下のように値を設定しています。

tiledLayer1.levelsOfDetail = 1; tiledLayer1.levelsOfDetailBias = 30;

適切な値を使用していますか? これらの値はメモリに影響しますか?

ページのズーム時にメモリの問題に直面しているため、この疑問が生じました。メモリリークがなく、コードが効果的に記述されていることを確認しました。

私の zoomScale の範囲は 1.0 から 2.0 です。メモリの問題を回避するために誰かが私を助けることができます...そして上記のパラメータに使用される値。

前もって感謝します...

0 投票する
1 に答える
534 参照

ios - CATiledLayer、CALayerDelegate およびタッチ イベントのキャプチャ

CATiledLayer でタッチ イベントをキャプチャするにはどうすればよいですか?

ビュー レイヤーを CATiledLayer に変更すると、ビューが TouchesXXX イベントのキャプチャを停止する次の状況があります。なぜこれが起こるのか、この問題にどのように対処すればよいでしょうか。

0 投票する
1 に答える
473 参照

iphone - CATitledLayer での断続的な EXC_BAD_ACCESS 例外

断続的にクラッシュし続けるアプリで問題が発生しています。以下のコードは、CATiledLayer をバッキング レイヤーとして使用する UIView 内にあります。

次のエラー コードが表示されます。

エラーが発生するパターンはないようです。スクロールやズームを行うと、ある時点で発生するようです。ズーム/スクロールするとすぐにクラッシュすることがあります。時々、クラッシュするまでしばらくズームしたりスクロールしたりできます。

iOS4 より前は、UIKit はスレッドセーフではなく、CATiledLayers では使用できませんでした。テクニカル ノートを参照してください私の問題 (だと思います) は、スレッドの問題のようです。確かに UIKit のせいではありませんか?

0 投票する
1 に答える
418 参照

xcode - 3 つの PDF ファイルを 3 つの異なる UIView に描画するには drawLayer が必要です

3 つの異なる PDF ファイルを読み込んで乾燥させ、drawLayer を使用してそれらを 3 つの UIview に描画しています。これは機能しますが、3 つすべてが 1 つの UIview の同じレイヤーに描画されます。それぞれ独自の UIView に描画する必要がありますが、このコードを 3 つの部分に解析する方法がわかりません。アイデアはありますか?

0 投票する
4 に答える
4991 参照

ios - iPad Retina シミュレーターの CATiledLayer でパフォーマンスが低下する

これはシミュレーターの問題ではないかと思いますが、Retina 対応のアプリを既に提出しており、16 日までテストする方法がないため、もちろん心配しています。

非常に大きなマップを表示するために、アプリに CAtiledLayer を実装しました。マップのタイルはインターネットから取得されますが、キャッシュも取得されるため、通常、実際にはデバイスから直接読み込まれます。

iPad 1 と iPad2 では美しく動作します。タイルがインターネットから来ている場合でも、iPad 2 でレンダリングされていることはほとんどわかりません。

iPad シミュレーターでは美しく動作します。

私の問題は、iPad Retina シミュレーターです。視覚的には、問題ないように見えます。マップのサイズは適切で、データ オーバーレイを表示するために使用する別のレイヤーと一致していますが、読み込みが非常に遅いです。ほとんどの場合、スクロールを開始するまでタイルをまったくロードしません。その後、タイルをロードしているとき、おそらく 1 秒あたり 1 回実行され、ひどく見えます。

Retina 上で標準解像度の画面とは異なる動作をするコードはないので、これがシミュレーターの問題に過ぎないことを願っていますが、まだ心配です。

他の誰かが自分のアプリでこれを見たことがありますか?

0 投票する
1 に答える
294 参照

uiscrollview - ズーム後にCATiledLayerが点滅します

画像を表示する小さなCATiledLayersがたくさんあるBIGサブビューを備えたUIScrollViewがあります。

ZoomDidEndを使用して、新しいスケールを設定しました。

次のすべてのレイヤーを含むタイルコンテナビューを再描画します。

そして、私は完璧な結果を得る:ズーム後の詳細な画像。

ただし、これらすべてのレイヤーが点滅します(新しいデータをロードする場合)。

どういうわけかそれを隠すことは可能ですか?

新しい画像をロードするまで、古い画像をレイヤーで保持する必要があります。

助けてくれありがとう!

0 投票する
2 に答える
2434 参照

ios - CATiledLayer PDF のパフォーマンスが iPad 3 Retina ディスプレイで低い

スクロールビューでズーム可能な PDF を表示するためにかなり単純なコードを使用していますが、iPad 2 と元の iPad でうまく動作しています。しかし、iPad 3 では驚くほど遅いです。より多くのピクセルをプッシュしていることはわかっていますが、レンダリング パフォーマンスはまったく受け入れられません。

iOS 5.0 以降では、tileSize プロパティは任意に 1024 に固定されています。これは、Retina ディスプレイでタイルがその半分のサイズで表示されることを意味します。この制限を克服する方法を見つけた人はいますか?

CATiledLayerそうでなければ、 iPad 3の速度を改善する方法を見つけた人はいますか?

0 投票する
0 に答える
543 参照

ios - CATiledLayer; 高解像度ビットマップ スケーリング

異なるフレームで UIView に波形 (高解像度ビットマップ) をレンダリングしようとしています。スケーリングしたいので、パフォーマンスを向上させるために CATiledLayer を使用することにしました。しかし、結果として、私は予想していなかったものを得ました。

ソース ビットマップ (5000 x 80 ピクセル): ソース ビットマップ: 結果 (? x 80 ピクセル): ソース ビットマップ: トラックは同じではありません。スケーリング/スクロールを続けると、それらは異なります。

コード自体:

- ここで何が間違っていますか? -CATiledLayer は X 軸だけでスケーリングできますか?

前もって感謝します!