問題タブ [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.

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

iphone - Core Animationレイヤーを使用してGIFをアニメーション化しますか?

GIFをアニメーション化しようとしていますが、障害が発生しました。GIFの個々のフレームを使用し、UIViewのanimationImagesプロパティを設定することを試みている例があります。ただし、私のプロジェクトでは、アニメーション化するものはレイヤーを使用して描画されます。あまり複雑にすることなく、フレームをアニメーション化するためのすばやく簡単な方法を探しています。Layersと同等のanimationImagesはありますか?誰かアイデアはありますか?

0 投票する
8 に答える
84495 参照

iphone - CALayers は、UIView の境界の変更でサイズ変更されませんでした。なんで?

レイヤーにUIView約8つの異なるCALayerサブレイヤーが追加された があります。ビューの境界 (アニメーション化) を変更すると、ビュー自体が縮小します ( で確認しましたbackgroundColor) が、サブレイヤーのサイズは変更されません

これを解決するには?

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

iphone - CALayerのコンテンツを並べて表示するにはどうすればよいですか?

CALayer全体にCGImageを並べて表示したいのですが、拡大したいだけのようです。

サンプルコード:

できればサブクラス化は避けたいと思います。

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

iphone - UITableViewCell で CALayer を使用する

テーブルビューの各セルに、ユーザーが右からスライドできるバーが必要です。バーにはアイコンを配置する予定です。したがって、これを行うために、UITableViewCell をサブクラス化しました。セルに drawRect を実装し、セルにグラデーションと背景色を既に描画しています。そこから、CALayer を作成し、フレームと背景色を指定して、サブレイヤーとして Views subLayers 配列に追加します。私はそれをすべて行うことができ、各 UITableViewCell に私のレイヤーを表示します。

セルにタッチイベントを追加して、ユーザーがセルに触れたときに検出できるようにし、テストのためにユーザーがスワイプするとCALayerが広くなるようにしました。しかし、問題は、UITableView がスクロールして CALayer が拡張されたセルを再利用すると、CALayer が再作成されないことです。私が試してみました

デリゲートの drawLayer:inContext メソッドを使用しましたが、呼び出されません。UITableViewController のセルで setNeedsDisplay を呼び出すことも試みましたが、再描画が発生することを期待していますが、機能しません。

何が欠けているのかわかりません。CoreGraphics と CoreAnimation は初めてです。CoreAnimation Developers Guide を読みましたが、何か足りないと思います。どんな助けでも素晴らしいでしょう。

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

iphone - CALayerとQuartzの透明性

CALayerサブクラスがあります。drawInContextメソッドをオーバーライドしました。いくつかの領域を除いて、レイヤーの大部分を透明にしたい。レイヤーをメニューとして使用していますが、メニューのアイコンとラベルを不透明にします。

スーパーCALayerが透明な場合、CALayerのサブレイヤーを不透明にすることは可能ですか?

透明なCALayerのdrawInContextメソッドで不透明なテムを描画することは可能ですか?CGContextSetAlphaを使用してみましたが、描画しているCALayerが透過的であるため、機能しないと思います。

いつものように、どんな助けも素晴らしいでしょう。

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

iphone - CGLayers でカスタム アニメーションを作成しますか?

基本的には、縮小する円をアニメーション化したいと考えています。私はすでにCGLayerの上に徐々に小さな円を描き、次に使用することでこれを行っています

if(index < 30){
[self performSelector:@selector(showNextLayer) withObject:nil afterDelay:(NSTimeInterval)0.02]; インデックス++;
}

私の showNextLayer メソッドで。これは私の単純な目標では機能しますが、一般的に、これはカスタムアニメーションを描画するための多かれ少なかれ賢明な方法ですか?

Apple にはアニメーションに関する多くのドキュメントがあります - 私を混乱させるのに十分ですが、私が最終的に理解している限り:

  1. UIView が提供するアニメーション サービスは、いくつかの基本的なビュー プロパティ、ビューの遷移などをアニメーション化するのに適しています。
  2. CAAnimation から継承するクラスによって提供されるものは、色の変化、3D 変換などのアニメーション プロパティに適しています。
  3. UIViewImage は、カスタム ビットマップ イメージをアニメーション化するのに適しています (代わりに CGLayer に円を描画できる場合にビットマップ イメージを作成するのは得策ではありません)。

CGLayer のシーケンスのコンテンツの表示もサポートされているように思えますが、何か不足していますか?

明確にしていただきありがとうございます..

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

iphone - 既存の CALayer/animation を変換 (回転) するには?

アプリの UIView に CALayer を追加しました。

これで、ユーザーがデバイスを回転させたときに、レイヤーは常に画面上の同じ位置に留まります (ホームスクリーン ボタンに沿って)。アニメーション/レイヤーを回転させることはできますか? 私は試した

しかし、このコードは、設定したアニメーション/レイヤーではなく、UIView を回転させるだけです。

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

iphone - UIImageView にアニメーションを追加できないのはなぜですか?

UIImageView にアニメーションを追加しようとしていますが、常に失敗します。なんで?コードは次のとおりです。

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

iphone - iPhoneCALayerスタッキングオーダー

CALayersを使用してUITableViewCellに描画しています。UITableViewCellのコンテンツでレイヤーがどのように順序付けられているかを理解しようとしています。例えば:

  1. cellForRow:atIndexPathメソッドのUITableViewCellにラベルを追加します
  2. UITableViewCellのdrawRectメソッドで、現在のコンテキストを使用してコンテンツを描画します
  3. また、drawRectでいくつかのサブレイヤーを追加します

では、これらの要素の順序はどうなるでしょうか。CALayersにzPositionがあることは知っていますが、それらが常にUITableViewCellのサブビューの上にあるかどうかはわかりません。そして、drawRectで描画されるコンテンツがどこにあるのかわかりません。ヘルプやドキュメントへのリンクは素晴らしいでしょう。私はCoreAnimationプログラミングガイドを読みましたが、これが答えられる場所はどこにも見当たりませんでした。

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

iphone - iPhone: CALayer のメモリ リークに関する質問

以下のコードによってコードがリークすることはありますか? より具体的には、(オブジェクトである)のnewImageまたは内容をリリースする責任はありますか? そのメソッドが呼び出されるたびにメモリ警告が表示されますが、その理由がわかりません...mainPageLayerCALayer

mainPageLayer.contents = [newImage CGImage];また、渡した引数が互換性のないポインター時間であるという警告がスローされる理由もわかりません。画像はレイヤー内で問題なく表示されます。