問題タブ [calayer]
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 - Core Animationレイヤーを使用してGIFをアニメーション化しますか?
GIFをアニメーション化しようとしていますが、障害が発生しました。GIFの個々のフレームを使用し、UIViewのanimationImagesプロパティを設定することを試みている例があります。ただし、私のプロジェクトでは、アニメーション化するものはレイヤーを使用して描画されます。あまり複雑にすることなく、フレームをアニメーション化するためのすばやく簡単な方法を探しています。Layersと同等のanimationImagesはありますか?誰かアイデアはありますか?
iphone - CALayers は、UIView の境界の変更でサイズ変更されませんでした。なんで?
レイヤーにUIView
約8つの異なるCALayer
サブレイヤーが追加された があります。ビューの境界 (アニメーション化) を変更すると、ビュー自体が縮小します ( で確認しましたbackgroundColor
) が、サブレイヤーのサイズは変更されません。
これを解決するには?
iphone - CALayerのコンテンツを並べて表示するにはどうすればよいですか?
CALayer全体にCGImageを並べて表示したいのですが、拡大したいだけのようです。
サンプルコード:
できればサブクラス化は避けたいと思います。
iphone - UITableViewCell で CALayer を使用する
テーブルビューの各セルに、ユーザーが右からスライドできるバーが必要です。バーにはアイコンを配置する予定です。したがって、これを行うために、UITableViewCell をサブクラス化しました。セルに drawRect を実装し、セルにグラデーションと背景色を既に描画しています。そこから、CALayer を作成し、フレームと背景色を指定して、サブレイヤーとして Views subLayers 配列に追加します。私はそれをすべて行うことができ、各 UITableViewCell に私のレイヤーを表示します。
セルにタッチイベントを追加して、ユーザーがセルに触れたときに検出できるようにし、テストのためにユーザーがスワイプするとCALayerが広くなるようにしました。しかし、問題は、UITableView がスクロールして CALayer が拡張されたセルを再利用すると、CALayer が再作成されないことです。私が試してみました
デリゲートの drawLayer:inContext メソッドを使用しましたが、呼び出されません。UITableViewController のセルで setNeedsDisplay を呼び出すことも試みましたが、再描画が発生することを期待していますが、機能しません。
何が欠けているのかわかりません。CoreGraphics と CoreAnimation は初めてです。CoreAnimation Developers Guide を読みましたが、何か足りないと思います。どんな助けでも素晴らしいでしょう。
iphone - CALayerとQuartzの透明性
CALayerサブクラスがあります。drawInContextメソッドをオーバーライドしました。いくつかの領域を除いて、レイヤーの大部分を透明にしたい。レイヤーをメニューとして使用していますが、メニューのアイコンとラベルを不透明にします。
スーパーCALayerが透明な場合、CALayerのサブレイヤーを不透明にすることは可能ですか?
透明なCALayerのdrawInContextメソッドで不透明なテムを描画することは可能ですか?CGContextSetAlphaを使用してみましたが、描画しているCALayerが透過的であるため、機能しないと思います。
いつものように、どんな助けも素晴らしいでしょう。
iphone - CGLayers でカスタム アニメーションを作成しますか?
基本的には、縮小する円をアニメーション化したいと考えています。私はすでにCGLayerの上に徐々に小さな円を描き、次に使用することでこれを行っています
if(index < 30){
[self performSelector:@selector(showNextLayer) withObject:nil afterDelay:(NSTimeInterval)0.02]; インデックス++;
}
私の showNextLayer メソッドで。これは私の単純な目標では機能しますが、一般的に、これはカスタムアニメーションを描画するための多かれ少なかれ賢明な方法ですか?
Apple にはアニメーションに関する多くのドキュメントがあります - 私を混乱させるのに十分ですが、私が最終的に理解している限り:
- UIView が提供するアニメーション サービスは、いくつかの基本的なビュー プロパティ、ビューの遷移などをアニメーション化するのに適しています。
- CAAnimation から継承するクラスによって提供されるものは、色の変化、3D 変換などのアニメーション プロパティに適しています。
- UIViewImage は、カスタム ビットマップ イメージをアニメーション化するのに適しています (代わりに CGLayer に円を描画できる場合にビットマップ イメージを作成するのは得策ではありません)。
CGLayer のシーケンスのコンテンツの表示もサポートされているように思えますが、何か不足していますか?
明確にしていただきありがとうございます..
iphone - 既存の CALayer/animation を変換 (回転) するには?
アプリの UIView に CALayer を追加しました。
これで、ユーザーがデバイスを回転させたときに、レイヤーは常に画面上の同じ位置に留まります (ホームスクリーン ボタンに沿って)。アニメーション/レイヤーを回転させることはできますか? 私は試した
しかし、このコードは、設定したアニメーション/レイヤーではなく、UIView を回転させるだけです。
iphone - UIImageView にアニメーションを追加できないのはなぜですか?
UIImageView にアニメーションを追加しようとしていますが、常に失敗します。なんで?コードは次のとおりです。
iphone - iPhoneCALayerスタッキングオーダー
CALayersを使用してUITableViewCellに描画しています。UITableViewCellのコンテンツでレイヤーがどのように順序付けられているかを理解しようとしています。例えば:
- cellForRow:atIndexPathメソッドのUITableViewCellにラベルを追加します
- UITableViewCellのdrawRectメソッドで、現在のコンテキストを使用してコンテンツを描画します
- また、drawRectでいくつかのサブレイヤーを追加します
では、これらの要素の順序はどうなるでしょうか。CALayersにzPositionがあることは知っていますが、それらが常にUITableViewCellのサブビューの上にあるかどうかはわかりません。そして、drawRectで描画されるコンテンツがどこにあるのかわかりません。ヘルプやドキュメントへのリンクは素晴らしいでしょう。私はCoreAnimationプログラミングガイドを読みましたが、これが答えられる場所はどこにも見当たりませんでした。
iphone - iPhone: CALayer のメモリ リークに関する質問
以下のコードによってコードがリークすることはありますか? より具体的には、(オブジェクトである)のnewImage
または内容をリリースする責任はありますか? そのメソッドが呼び出されるたびにメモリ警告が表示されますが、その理由がわかりません...mainPageLayer
CALayer
mainPageLayer.contents = [newImage CGImage];
また、渡した引数が互換性のないポインター時間であるという警告がスローされる理由もわかりません。画像はレイヤー内で問題なく表示されます。