問題タブ [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 に答える
2990 参照

iphone - UIViewまたはCALayerを使用した描画とアニメーション?

uiviewが描くグラフを実装しようとしています。左/右のスライドをアニメーション化するための3つのUIViewがあります。問題は、UIViewアニメーションをキャンセルできないことです。そこで、UIViewをCALayerに置き換えました。さて、問題は、CALayerがこれに適用できるかどうかです。このようにCALayerを描画するのは正常ですか?また、フレームのプロパティを操作するときにCALayerが非常に遅いのはなぜですか。

代替案はありますか?

PS私はドイツ人です。間違いでごめんなさい。


CATransactionを使用してアニメーションを取得しましたが、次にCABasicAnimationを使用して斧の動きをアニメーション化します。レイヤーの位置が前のxに戻ることを期待しても問題ありません。

位置は位置を変更しますが(たとえば、xStart = 100、xEnd = 200)、アニメーションが終了すると、レイヤーは最初のxに戻ります(たとえば、x = 100)。それは正常ですか?終了位置がもう変わらないというこの問題をどのように解決できますか?removeOnCompleteプロパティを変更しようとしましたが、効果がありませんでした。

助けを願っています。

マーカス

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

iphone - 複数の CALayer のパフォーマンスの問題

現在、いくつかのカスタム レイヤーをビュー内のサブレイヤーとして使用しているときに、いくつかのパフォーマンスの問題に直面しています。

プログラムで新しいレイヤーを作成した後、次のようにサブレイヤーとして追加します。

これはうまくいきます。ただし、これを何度も行うと、私のアプリはますます遅くなり始めます。ビューに常に新しいサブレイヤーを追加しているので、これが起こると確信しています。したがって、この問題を解決するために、次のような新しいサブレイヤーを追加する前に、self.view.layer からすべてを削除しようとしました。

残念ながら、これは私の問題を解決しませんでした。

新しいサブレイヤーは、サブレイヤーとして追加された後、正しくリリースされます。これを計測器で確認しましたが、メモリ リークはまったくありません。ただし、新しいサブレイヤーを追加するたびにメモリが増加していることがわかります (これは驚くべきことではありません)。

ビューのレイヤーからすべてのサブレイヤーを削除するには、別の方法を見つける必要があると思います。

どんな助けでも感謝します。前もって感謝します。

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

iphone - iPhoneでレイヤーを追加/削除するアニメーション

iPhone で、-addSublayer: または -removeFromSuperlayer のいずれかを使用して、表示されているビューのレイヤーにサブレイヤーを追加すると、そのサブレイヤーがアニメーションで表示または非表示になるべきではありませんか (つまり、徐々にフェードインまたはフェードアウトします)? 私のプログラムは、(ビューではなく) レイヤーを使用してアニメーション化します。位置や画像コンテンツなどのレイヤーのプロパティを変更すると、変更がアニメーション化されます(レイヤーが親レイヤーの周りに縞模様になり、レイヤーが古い画像から新しい画像にフェードします)、レイヤーとビューが正しく設定されていることは明らかです. ただし、サブレイヤーを追加または削除すると、変更が即座に行われます。アニメーションはありません。

参照を読むと、レイヤーが表示されている場合、サブレイヤーは追加または削除されたときにアニメーション化する必要があると言われています。

私は何を間違っていますか?誰かが同様の問題を抱えていて、解決策を見つけることができましたか?

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

iphone - CAKeyframeAnimation - 例

画面上を特定のポイントまでスライドする CALayer であるメニューがあります。メニューがポイントを少し過ぎてからポイントの少し前に移動し、ポイントに着陸するという効果が必要です。変換を適用してメニューを移動できますが、このバウンス効果を機能させたいと思っていました。CAKeyframeAnimation を調べていましたが、例/チュートリアルを見つけるのに苦労しています。CA プログラミング ガイドを見てきましたが、実際には何も見つかりませんでした。リンクやヘルプは素晴らしいでしょう。ありがとう。

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

iphone - CAAnimation および CALayer 変換に関する問題

画面全体でアニメーション化したい CALayer があります。2 つの方法を作成しました。1 つはスライドでレイヤーを開き、もう 1 つはスライドで閉じます。これらは両方とも、レイヤーの変換プロパティにプロパティを割り当てることによって機能します。

ここで、CAKeyFrameAnimation を使用して、レイヤーをスライドして開きたいと思います。これでレイヤーがスライドして開くようになりましたが、古い方法を使用してレイヤーを閉じることができなくなりました。これがなぜなのかを理解しようとしています。どんな助けでも素晴らしいでしょう。

私のCALayerのコード:

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

iphone - UIView を暗くする

UIView を一定量「暗く」したいと思います。現在、私は次のように暗くしています。

残念ながら、これにより、透明な部分に半透明の黒いオーバーレイも追加されますmainView。透明でない部分だけを暗くする方法はありますか?

0 投票する
5 に答える
3942 参照

iphone - iPhone: CALayer + 3D で回転 + アンチエイリアス?

iPhone SDK に関する質問: 画面に UIImageView を描画しています。3D で回転させ、少し遠近感を持たせたので、画像はある角度で画面に向かっているように見えます。それはすべてうまくいきます。ここでの問題は、結果の画像のエッジがまったくアンチエイリアスされていないように見えることです。そのようにする方法を知っている人はいますか?

基本的に、私は独自のバージョンの CoverFlow を実装しています (ええええ、設計特許何とか何とか) クォーツ 3D 変換を使用してすべてを行います。各カバーがアンチエイリアス処理されておらず、Apples バージョンがアンチエイリアス処理されていることを除けば、問題なく動作します。

CALayer の edgeAntialisingMask をいじってみましたが、それは役に立ちませんでした。デフォルトでは、すべてのエッジをアンチエイリアスする必要があります...

ありがとう!

0 投票する
5 に答える
4216 参照

iphone - iPhone-CALayerにパースペクティブを適用するときのギザギザのエッジ

パースペクティブを使用してプロパティCGTransform3Dを指定するCALayerがありm14ます。パースペクティブを適用すると、レイヤーのエッジがギザギザになります。レイヤーの周りに1pxの透明な境界線を追加すると、これに役立つと人々が言うのを聞いたことがあります。どうすればいいのかわかりません。borderCALayerのプロパティとプロパティを使用してみましborderWidthたが、ギザギザのエッジがまだ残っています。また、すべての面で1pxで描画される四角形を縮小しようとしましたが、どちらも役に立ちません。

どんな助けでも素晴らしいでしょう!ありがとう!

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

iphone - CALayerを使用して描画するとUIButtonがセレクターを起動しない

こんにちは、私はこのボタンを次のように作成します。

ボタンは画面に表示されますが、タップしても何も起こりません。レイヤーにカスタム描画を使用せずに丸みを帯びた四角形ボタンを作成するか、コードのレイヤー行をそのままにしておくと、すべてうまく機能します。ボタンのレイヤーでカスタム描画を行いたいのに、なぜこの動作が発生するのか考えていますか?

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

iphone - iPhoneでCALayerをマスクすることは可能ですか?

CALayerをビットマップ画像でマスクしようとしています。そして、CALayerのマスキングに失敗しました。私のコードは次のとおりです。

Appleのリファレンスには、「iPhoneのCALayerはマスクプロパティをサポートしていません」と書かれています。しかし、これについてはSOに投稿があります。出来ますか?または、私のコードの何が問題になっていますか?