問題タブ [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 - CAAnimation の継続時間が適用されない
CAAnimation
ツールバーを画面上および画面外に移動するために を適用しています。
スーパービューに触れると、次のメソッドが起動します。
これにより、サブビューのデリゲート メソッドが起動されます。
定数kViewerToggleToolbarAnimation
、kViewerToolbarHideAnimationDuration
およびkViewerToolbarShowAnimationDuration
は、別の場所で次のように定義されています。
問題は、定数ファイルでこれらの期間の値を増やすことができることですが、デリゲート メソッドはそれらの期間を無視し、独自の著しく短い期間 (およそ 0.5 秒) を適用します。
2.5 秒と 2.75 秒は、アニメーションが適切に機能していた場合に実行されるかなり長い時間です。
これらの期間定数が無視される原因となるアニメーションの起動について、私は何が間違っていますか? それ以外の場合はコンパイルして正常に実行されるため、定数が見つからないことについて不平を言うことはありません。
iphone - iPhone アプリケーションに画像をプリロードしますか?
短時間で表示する必要がある一連の画像があります (PNG シーケンス)。全部で 31 個の PNG があり、それぞれのファイル サイズは約 45 KB です。私はすでに次のコードでそれらをロードしました:
画像を表示するために次のコードを使用します。
imgLayer はCALayer
です。(imgTimer は間隔 0.03 秒の繰り返しタイマーです)
しかし、画像を呼び出すと、最初は非常に遅いことがわかりました。初登場以外は問題ありません。
画像のプリロードに関連していますか?または、画像のファイル サイズが大きすぎますか?
iphone - iPhone:ビュー内のCALayerサブレイヤーのサイズを変更します
UIViewを設定し、ビューのレイヤーにサブレイヤーとしていくつかのCALayerを追加しました。ビューと一緒にサブレイヤーのサイズを変更することも可能ですか?新しいフレームを設定してレイヤーのサイズを変更すると、ビューのレイヤーのみが新しいサイズになり、サブレイヤーは取得されません。レイヤーのsetNeedsDisplayOnBoundsChangeをtrueに設定し、contentsGravityをkCAGravityResizeAspectに設定しましたが、これまでのところ何も役に立ちませんでした。私は非常に明白な何かを逃していますか?
よろしくお願いします、ハンス
iphone - UIImageViewのCALayerのanchorPoint「プロパティの不明なコンポーネントにアクセスしています」エラー
右下隅を中心に画像を回転させようとしています。これを行うには、レイヤーのアンカーポイントを設定する必要があることはわかっていますが、アクセスできません。プロジェクトにQuartzCoreフレームワークを含めました。問題を可能な限り単純化するために、メソッドをこれらの3行に減らしましたが、それでも「エラー:プロパティの不明な「anchorPoint」コンポーネントにアクセスしています」というエラーがスローされます(2行目)。
それは本当に愚かなことであるに違いありません。私はこれの他の例を見ました、そしてそれらは同じように見えます。私は何が欠けていますか?
iphone - CALayerデリゲートの使用
レイヤーにサブレイヤーがあるUIViewがあります。これらのサブレイヤーごとにデリゲートを割り当てたいので、デリゲートメソッドはレイヤーに何を描画するかを指示できます。私の質問は:
CALayerの代理人として何を提供する必要がありますか?ドキュメントには、レイヤーが存在するUIViewを使用しないように記載されています。これは、ビューのメインCALayer用に予約されているためです。しかし、私が作成したCALayersのデリゲートになるためだけに別のクラスを作成すると、CALayerをサブクラス化しないという目的が無効になります。CALayerのデリゲートとして通常使用しているのは何ですか?それともサブクラスにする必要がありますか?
また、デリゲートメソッドを実装するクラスが何らかのCALayerプロトコルに準拠する必要がないのはなぜですか?それは私がよく理解していないより広い包括的な質問です。デリゲートメソッドの実装を必要とするすべてのクラスには、実装者が準拠するためのプロトコル仕様が必要だと思いました。
cocoa - CALayer でネイティブに見える statusitem 背景を描画する方法
実際には、カスタム statusItemView で選択NSStatusItem
したオブジェクトの背景を描画したいと考えています。CALayer
しかしそれ以来
- (void)drawStatusBarBackgroundInRect:(NSRect)rect withHighlight:(BOOL)highlight
レイヤーでは動かない(?) backgroundColorプロパティで色を描画してみました。しかし、selectedMenuItemColor を RGB に変換しても、あまり役に立ちません。グラデーションなしでとてもシンプルに見えます。:-/
私はこのコードでに変換[NSColor selectedMenuItemColor]
しました:CGColorRef
CALayer でネイティブに見える statusitem の背景を描画する方法はありますか?
iphone - CAShapeLayer がインターフェイスの回転を遅くする
カスタム描画コードをビューから に移動しようとしていますCAShapeLayer
。これは、サブレイヤーとして元のビューの に追加されますCALayer
。これもうまく機能しますが、デバイスを回転させると、アニメーションが途切れ始めます。たとえば、フレームが元の向きで表示され、最終的な向きで表示され、その間に最大で 1 つのフレームが表示されます。まったく滑らかではありません。対応するスライドインとスライドアウトのアニメーションUIViewController
も少しぎくしゃくしています (ただし、それほどではありません)。
CAShapeLayer
その中のすべてpath
は 1CGPathAddRect
で、 に設定されopaque
、opacity
は で1.0f
あり、fillColor
は不透明な青に設定されています。
ただし、ビュー メソッドでパスを直接描画するdrawRect
と、アニメーションはスムーズになります。CAShapeLayer
だから、ローテーション中にアニメーション化されることと関係があると思います。
これらのぎこちなさを取り除く方法、またはCAShapeLayer
アニメーション時に単に非表示にする方法を教えていただけますか? s を直接描画するだけに戻ることは、私にはオプションではありません。これは、そのパスをアニメーション化CGPath
する機能に依存しているためです(ビューを回転させようとしてもアニメーション化されません)。CAShapeLayer
/update: これは、回転するUIViewController
s ビューに のサブクラスを持つCAGradientLayer
ビューlayerClass
(背景としてグラデーション レイヤーを持つビューなど) が含まれている場合にも発生します。
乾杯
ミスターメイジ
cocoa - 素早いユーザー切り替えで CALayer を隠す
コンピューターがスリープから復帰したときに自動的に開始される GUI ココア アプリケーションがあります。アプリケーションは同時に複数のユーザー アカウントで実行され、画面に表示されている現在のユーザー (つまり、アクティブなコンソール ユーザー) ではないユーザー アカウントで起動されることがあります。ここで問題が発生します。
CALayer
いくつかの異なる画像の構成を表示するために使用するカスタム ビューがあります。NSView の CALayer には 2 つのサブレイヤーが含まれ、そのうちの 1 つに 2 つのサブレイヤーも含まれます。ユーザーがアクティブなユーザーのアカウントでアプリケーションを起動した場合、問題はありません。アクティブでないユーザーのアカウントで自動化されたスクリプトによってアプリケーションが起動されると、カスタム NSView は CALayer をまったく描画しません。layer
アプリが CALayer を描画していないときに F-Script をアプリに挿入したところ、カスタム NSView にsublayers
! レイヤー設定コードは-awakeFromNib
、カスタム NSView の に含まれていることに注意してください。-awakeFromNib
カスタム NSView が描画されていないときに手動で呼び出してみたところ、問題が修正されました (ただし、sublayers
正しく設定されました)。
私はネットを検索し、この情報を見つけました:
OS X v.10.4 以降では、ユーザーがユーザーの簡易切り替えを使用すると、ディスプレイ リンク スレッドが自動的に停止します。元のユーザーに戻ると、表示リンクが再開されます。
私の問題は、ユーザーがアクティブな画面への参照を持っていないことと関係があることを知っています (「良い」 CGContext 参照?) が、エラーメッセージを受け取っておらず、Quartz / Core Animation の経験がありません。正しい方向に。
助けてくれてありがとう!
cocoa - NSViewController。CoreAnimationサブレイヤーが描画されていません
NSViewControllerを作成します。ビュー階層を管理し、1つのNSBoxに他のビューを設定します。
私には2つの別の見方があります。ビューには、QuartzComposerのルートレイヤーとCALayerサブレイヤーがあります。
アプリケーションを実行し、ビューを変更できますが、QCCompositionLayerのみを確認します。NSView階層なしでカスタムNSViewクラスを直接使用すると、すべてを見ることができます。エラーはどこにありますか?
すみません、私の悪い英語と感謝
iphone - iPhone アニメーションを機能させるのに助けが必要ですか?
私はiPhoneのアニメーション機能で真新しいです。赤い四角形を回転させる簡単なテスト プログラムを作成しました。ただし、アニメーションはまったく機能しません。コードの何が問題になっていますか? どうもありがとう...