問題タブ [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 - -[CALayer setNeedsDisplayInRect:]で暗黙のアニメーションを無効にする
-drawInContext:メソッドに複雑な描画コードを含むレイヤーがあります。必要な描画の量を最小限に抑えようとしているので、-setNeedsDisplayInRect:を使用して、変更された部分だけを更新しています。これは見事に機能しています。ただし、グラフィックシステムがレイヤーを更新すると、クロスフェードを使用して古い画像から新しい画像に移行します。すぐに切り替えて欲しいのですが。
CATransactionを使用してアクションをオフにし、期間をゼロに設定しようとしましたが、どちらも機能しません。これが私が使用しているコードです:
代わりに使用する必要があるCATransactionに別のメソッドがありますか(-setValue:forKey:をkCATransactionDisableActionsで試しましたが、同じ結果です)。
iphone - CALayersを使用した丸みを帯びたUIView-一部のコーナーのみ-どのように?
私のアプリケーションでは、次のような名前の4つのボタンがあります。
- 左上
- 左下の
- 右上
- 右下
ボタンの上には、画像ビュー(またはUIView)があります。
ここで、ユーザーが-上-左ボタンをタップしたとします。上記の画像/ビューは、その特定のコーナーで丸みを帯びている必要があります。
UIViewに丸みを帯びた角を適用するのに問題があります。
現在、次のコードを使用して、丸みを帯びた角を各ビューに適用しています。
上記のコードは、提供されたビューの各コーナーに丸みを適用しています。代わりに、-上/上+左/下+右などの選択したコーナーに丸みを適用したかっただけです。
出来ますか?どのように?
iphone - CALayer のマスキング - iPhone
iPhone用のカスタムオン/オフトグルスイッチを作成しています(標準スイッチに似ています)。スライダーのマスクを設定している時点ですが、呼び出すと[[myView layer] setMask:maskLayer]
マスクレイヤーの位置が相対的に設定されますマスク レイヤのコンテナ レイヤに関連するものではなく、マスキングしているレイヤ。この特定のシナリオでは、トグル スライダーがマスクの下に移動し、マスクが静止したままになるため、マスク レイヤーの位置をそれを含むレイヤーに対して相対的に設定する必要があります。
マスクとトグル スライダー コンポーネントをアニメーション化して目的の効果を実現する必要がなくても、これを機能させる方法を知っている人はいますか? ここに私がこれまでに持っているものがあります:
iphone - UIScrollView と CALayers
完全に CALayers で構成されるカスタム UIView があります。
awakeFromNib メソッドでは、すべての CALayer を作成して適切な位置に設定します (CAGradientLayer、いくつかの CATextLayer、およびいくつかのカスタム CALayer サブクラス)。カスタム UIView は drawRect: メソッドをオーバーライドしません。これは、ビューに直接描画が行われないためです (すべての描画はサブレイヤーで行われます)。
そこで、このビューを取得して UIScrollView に埋め込みました。問題?スクロール バーは表示されず、ビューはスクロールしません。ビューは明らかにスクロール ビューの境界よりも大きく、スクロールを許可する代わりに、スクロール ビューの境界で途切れてしまいます。
ここで何が問題なのですか?
iphone - スーパービューがアニメーション化されているときに UILabel のテキストを変更する
スーパービューがUIViewアニメーションによってアニメーション化されているUILabelのテキストを変更することは可能ですか?
containerView のサブビューとして labelView があるとします。timerFired は、containerView がアニメーション化されている間に呼び出されています (前後ではありません)。アニメーション中にlabelViewのsetTextを呼び出していますが、そのテキストは変化しません。私が求めているものを達成する方法はありますか?
編集:私のせい - これはうまくいきます。問題は、テキスト更新ルーチンにありました (キャストの問題)。
objective-c - 表示されるCALayerのカスタムアニメーションを置き換える方法
画面に表示されるカスタムアニメーションを変更したいCALayerがあります。メソッドをキャッチできるように、デリゲートを作成しました。
そして、キーがkCAOnOrderInと等しいかどうかを確認しますが、レイヤーにはまだ境界が何であるかが通知されていません(現在、境界について(0、0、0、0)を報告しています)。そこで、キーが「境界」に等しいかどうかを確認しようとしましたが、同じrect(0、0、0、0)が報告されます。
私がやりたいアニメーションは、レイヤーが不透明度を介して画面上で徐々に「フェードアウト」するのではなく、画面の小さな部分から完全な範囲まで成長させたいものです。しかし、それを行うには、それが完全な範囲になることを知る必要があります。カスタムアニメーションを置き換えることができるようにそれを知る方法はありますか、それとも単にこれを間違った方法でアプローチしているだけですか?
ありがとう
iphone - CALayer とその UIView の現在のコンテキストを取得する
iPhoneのUIViewでの描画処理を覚えようとしています。メソッド[UIView drawRect]が存在する場合にのみ、描画プロセスが発生することを理解しています。[ CALayer display ]で始まり、そのメソッド内から [UIView drawRect] が呼び出されます (正確には :first [ UIView drawLayer:layer inContext:context ] が呼び出され、このメソッド内から [UIView drawRect] が呼び出されます)。
2 つの質問があります。
- [ CALayer display ] メソッドはどのように UIView のコンテキストを取得しますか? ( [ CALayer display ] メソッド内の [ UIView drawLayer:layer inContext:context ] で使用されます)
- CALayer のコンテンツの更新はどのように行われますか? (ここのリンクに記載されている更新: [ CALayer 表示] )
objective-c - CABasicAnimation CALayer 変換での可視性 (オーバーラップ) の問題
オブジェクトに 2 つの UIImageView があり、本のようにページにアニメーション化しようとしています。組み込みのアニメーションのいくつかをしばらく使用して ( UIViewAnimationTransitionFlipFromLeft/Right
)、もっとうまくやれると判断しました。ここで、必要なアニメーションの半分の良い例を見つけました: http://fiftysixtysoftware.com/blog/2009/uiview-pageopen-sample-project/
そこから外挿してアニメーションを機能させることができました...しかし、私が抱えている問題は、アニメーション画像 (右の画像) が常に左の画像の下に表示されることです。
init のコードは次のとおりです。
...そして実際のアニメーションを実行します (これはアニメーションの後半であり、私の imageLeft ビューと「重なる」半分であることに注意してください):
私が試したこと:(上記のコードで両方を見ることができます)
- BringSubviewToFront/sendSubviewToBack
- レイヤーに Z インデックスを設定する
アドバイスや知恵をよろしくお願いします。繰り返しますが、問題は私の imageLeft が常にアニメーションの上に表示されることです。
iphone - drawLayer:inContext:に渡されるコンテキストは何ですか?
iPhoneの開発では、コンテキストをレイヤーで描きたいと思います。次に、質問は次のとおりです。
drawLayer:inContext:に渡されるコンテキストは正確には何ですか?レイヤーのコンテンツのコンテキストですか、それともUIviewのコンテキストですか?
これがUIViewのコンテキストである場合、それはどのUIViewですか?
前もって感謝します。
iphone - 割り当て解除されたインスタンスに送信
ビューコントローラをスタックにプッシュしてからポップオフすると、次のエラーが発生します。
dealloc
ポップオフされているViewControllerで呼び出された直後に発生し、このViewControllerのみに排他的であるようです。私はCALayerを使用していないので、CALayerはビュー自体と関係があると確信しています。
何か案は?
編集:これがバックトレースです