問題タブ [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.
iphone - 2 つの可視 CATiledLayers が問題を引き起こしています!
この問題は他の誰かが遭遇しましたが、私は解決策を見たことがありません - ( http://openradar.appspot.com/6941930 ) を参照してください。
コンテンツ ビューのレイヤーに 2 つの CAtiledLayers が含まれる UIScrollView があります。一方のタイル レイヤーはコンテンツを非常に高速に描画します (ただし、drawInRect を作成するのに十分な長さ: 遅すぎます!)、もう一方のレイヤーはゆっくりと描画します。
Zoom にはない高速な CATiledLayer には、デフォルトの LOD 設定があり、タイル サイズが大きくなっています。
低速の CATiledLayer はズーム可能です。
CATiledLayers の 1 つだけを使用すると、期待どおりに動作します。
問題は、両方のレイヤーを表示画面に追加すると、どちらか一方の動作が遅くなることです。厄介なことに、通常は描画するコンテンツが高速になり、はるかに遅くなるようです。
1 つの CAtiledLayer がいつ描画を完了したかを確実に知る方法はまだ見たことがありません。
解決策はタイル レイヤーをキューに入れることだと思うので、速いタイル レイヤーが終了したら、遅いタイル レイヤーを描画します。しかし、CATiledLayer のドキュメントはかなり悪いです。
私は NSTimer を使用しようとしましたが、2 番目のタイル レイヤーを描画する前に 3 秒間待機するように設定しました。ただし、これは問題を解決していないようです。道に迷いました!
objective-c - 大きなCATiledLayerを小さな領域にレンダリングします
サイズが4096x4096のCATiledLayerがあり、サイズが1024x1024のPNGにレンダリングしたい
これはそれをしていません...
これを行う方法についてのアイデアはありますか?
iphone - CATiledLayerは同じタイルを複数回要求します
この単純なCATiledLayerの例をご覧くださいhttps://github.com/seanhess/CATiledLayer-Example
これは、次のような階層を持つ1つのviewControllerで構成されます。
コンテンツビューのレイヤーは、CATiledLayerになるようにオーバーライドされています。
リンクされたコードを実行すると、同じrectを持つタイルが複数回要求されていることがわかります。これは、最初にコードを実行したときとスクロールしたときの両方で発生します。
ブランチ「1列」に切り替えます。これはinitでのみ発生し、下にスクロールしたときには発生しません。
ブランチ「default-tile-size」に切り替えます-これはinitでのみ発生しますが、非常にまれです(発生する前に複数回実行する必要があります)
drawLayer:inContext:
正しいデータを見つけて描画するコードを書き込もうとしています。それは高くつくかもしれません、そして私はそれを二度以上やりたくありません。
何が起こっているのか分かりますか?私は別の方法で何ができますか?
iphone - iphone CATiledLayerがクラスとして認識されませんか?
Apple ZoomingPDFViewerの例に従っていますが、例と同じようにフレームワークがありますが、xcodeで書くとCATiledLayer
、編集領域でクラスが認識されません(例のようにクラスとして紫色にならず、それをクリックしてください)単語であり、それを認識しません)、何が欠けていますか??
プロジェクトをビルドし、エラーや警告は表示されませんが、クラスが認識されないのはなぜですか?
編集>
プロジェクトの情報取得設定を提案どおりに変更しましたが、まだ機能していません!
- コンパイラを GCC 4.2 から LLVM GCC 4.2 に変更しました。
- 私が使用しているXcodeのバージョンに一致するようにプロジェクト形式を変更しました(「Xcode 3.2互換」)。
- 「Code Sense Indexの再構築」ボタンをクリックします。
まだ動作していません!, 何が原因でしょうか?, Apple のサンプル コードでは動作しているように見えますが、私のコードでは動作していないようです?? 私は何が欠けているでしょうか?
前もって感謝します!!
ios - iOSでPDFドキュメントからテキストと画像を読む
iPadアプリケーションでローカルに保存されたPDFを表示しています。コードは次のとおりです。
現在、デフォルトでは、UIWebViewによってレンダリングされるPDFからテキストまたは画像をコピーすることはできません。ユーザーがPDFからテキストや画像をコピーできるようにする方法はありますか?
私はCATitledLayerに精通していないので、この場合に役立つかどうか疑問に思っていますか?
performance - ボタンで巨大なUIViewを描画するCATiledLayer?
サブビューとしてUIView
約600のこの巨大なものがあります。UIButtons
はUIView
約 2000 x 2000 ピクセルで、UIScrollView
. CATiledLayer
この巨人のレンダリング レイヤーとして実装しようとしUIView
ていますが、タイルをレンダリングする方法がわかりません。タイル画像、pdfなどをカバーする多くの例を見つけましたがCATiledLayer
、多くのサブビューで完全な UIView を描画する方法に関する実際の例は見つかりませんでした。あなたはおそらく、なぜ私が固執したいのかと尋ねているでしょうUIView
? ユーザーがボタンを使用してビューを操作し続けてほしいからです。
誰かがメソッドの実装方法に関する例または疑似コードを持っているかどうか疑問に思っています。サブビューとして多くの- (void)drawLayer:(CALayer*)layer inContext:(CGContextRef)context
巨大なものが1つあることに注意してください。UIView
UIbuttons
animation - アニメーションコンテンツを含むCATiledLayer
CATiledLayerに支えられたこのUIViewがあります。私のセットアップは現時点ではかなりスムーズに機能しますが、このCATiledLayerで特定のビューオブジェクトをアニメーション化するときに恐怖が始まります。
を使用して、CATiledLayerを強制的に再描画できることを読みましたsetNeedsDisplay
。しかし、これは実際には画面上のすべてを再描画します。したがって、すべてのタイルが再度ロードされます。
何かがアニメートしているときにレイヤーを更新するにはどうすればよいですか?例として、次の例を見てみましょう。レイヤーに6つの緑色の長方形があり、UIButtonを押したときに、長方形番号4の色を赤に変更し、長方形12と3をベジェ曲線に再配置します。
iphone - その場で画像のタイリングを処理する方法
私は画像256*256を並べて表示し、それらの並べて表示ファイルをディレクトリに書き戻すアプリを作成しています。更新がある場合は毎回URLを更新し、それらの画像を並べて表示してiphoneフォルダーに保存します。私は2つの主なことを心配しています:1)メモリ消費-サイズ200 KBの5つの画像のメモリ消費はたくさんありますか?2)5つの異なるURLを同時に画像と並べて表示する必要がある場合、アプリをどのくらいの速さで処理できますか?
1つのURLのディレクトリに並べて保存するコードを作成しましたが、5つのURLについても同じことをしたいと思います。このアプローチを採用することをお勧めしますか、それとも誰かが別のアプローチを採用している場合はどうでしょうか。
ios - iOS CATiledLayer のクラッシュ
iPad用のpdfリーダーアプリがあり、スクロールビューを使用して各ページを表示しています。ページを表示したままにし、ページの両側に 1 ページを表示します。縦向きビューと横向きビューに別々のビューがあります。縦表示では 1 ページが表示され、横表示では 2 ページが表示されます。
iPad の向きが変わると、古い向きのビューをアンロードし、新しい向きのビューをロードします。つまり、縦向きのビューで横向きに変更すると、アプリは縦向きのビューをアンロードし、横向きのビューをロードします。PDFが大きい場合を除いて、これはすべてうまく機能します。
PDF は tiledlayers を使用して描画されます。大きな PDF で向きを変更すると、アプリがクラッシュします。タイルがすべて描画される前に向きが変更された場合にのみ、アプリがクラッシュします。私の推測では、アンロードされたタイルよりもビューにタイルを描画しようとしているため、クラッシュしていると思われます。ビューをアンロードするときにタイルの描画を停止する方法はありますか?
iphone - CATiledLayer の上に新しいレイヤーを追加できますか?
CATiledLAyerで大きな画像を表示しています。
今、ユーザーがその画像に触れた2点の間に線を引きたいと思います。
それは可能でしょうか?? 、もしそうなら、それを達成する方法を私に概説してもらえますか??
ありがとう、ラトナ