問題タブ [catransformlayer]

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 に答える
691 参照

ios - CALayer をクリック可能にするにはどうすればよいですか?

CATransformLayer を使用して一連のレイヤーを作成し、それらを 3D 視点でアニメーション化して立方体を作成しています (このようなもの)。

サブレイヤーを持つ CATransformLayer

この立方体の側面の 1 つに UIButton を追加する最良の方法は何ですか? イベントを受け取り、IBOutlet からボタンにアクセスできるようにしたいと考えています。

XIB 内にボタンを含む UIView を作成し、そのレイヤーを CATransformLayer に挿入しようとしましたが、表示されますが、ボタンをクリックできません。これは、UIKit が Touch/events 側を処理するためであり、レイヤーは描画を行うためだけにあると感じています。

(ところで、私はこの質問を見ましたが、このケースは新しい投稿を正当化するのに十分異なると感じています)

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

catransform3d - CATransformLayerへのサブビューとしてのCALayersの結合と反転

以前のstackoverflowの提案に基づいて、CATransformLayerに追加されたCALayersを使用してトランプを作成しようとしています。アイデアは、前面と背面のCALayerを作成し、それらをCATransformLayerで結合して、適切な面が自動的に表示されるように回転、反転などできるようにすることです。以下は、前面が緑色で背面が赤色の単一のカードを作成しようとしているコードの例です。

赤い後ろはY軸を中心に反転し、緑の前とは反対側を向いています。緑のフロントキャレイヤーは、赤のバックよりも「高い」Z位置にあります。

ただし、変換を実行すると、カードが反転していない状態のように見えるだけです。私がここで間違っているアイデアはありますか?

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

ios - iOSで循環パス上のラベルをアニメーション化する方法は?

ビューで uiLabel をアニメーション化することに行き詰まっています。

実際には、ラベル/テキストを循環パスでアニメーション化したいだけです。私はインターネットでたくさん検索しましたが、私の問題のようなことをしている良いチュートリアルや例を見つけることができませんでした. CAShapeLayer (円) を 0 から最大値まで増やしました....

同様に、ラベル/テキストが円形パスの始点から移動を開始し、1 つの円を完了した後に始点に戻るようにしたいと考えています。

私の問題を非常に正確に説明したことを願っています...それでも、不足しているものや理解できないものがある場合. 私に聞いてください。

ありがとうございます。

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

iphone - CATransformLayer をそのスーパー レイヤに適切に配置する方法

UIView画面全体にまたがる名前付きの containerView を作成しました。このビューCATransormLayerでは、次の寸法を持つ UIView を追加する必要があります。

両方の x 位置は、変数 positionX によって指定されます。DoubleSidedLayer理論的には、との両方stripViewがオーバーラップする必要があります。しかし、そうではありません。

これがコードです。

ログ ステートメントから、doubleSidedLayer と stripView のフレームを確認できます。

しかし、両者は重なりません。これがスクリーンショットです。ここに画像の説明を入力

注:横向きで作業しています。

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

ios - CATransformLayer タッチ イベントの処理

インターネットと Stackoverflow で検索しましたが、この特定の質問に対する回答が見つかりませんでした。これが私の質問です。

両側のタッチイベントに応答する両面を作成しようとしてUIViewいます(UIButton、UISwitchなど)。に 2 つの異なる を追加することで、これを達成しましCALayerCATransformLayer。すべて正常に動作しますが、インターフェイス ビルダーから追加された UI 要素にタッチが応答しません。問題を再現するためUIViewに、nib(frontView) で作成し、インターフェイス ビルダーからすべての ui 要素を追加し、そのUIView参照を追加しCATransformLayerました。タッチ イベントに応答しないことを除いて、すべて正常に動作します。

私はそれを理解しているCALayerか、のようなクラスCATransformLayerから継承していません。そして、このレイヤーをレスポンダーチェーンに持ち込む方法があると思いますが、どうすればよいのでしょうか?. 以下は私の単純化された問題コードです。UIResponderUIView

どんなサポートでも大歓迎です。前もって感謝します。

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

calayer - CATransformLayer と 3D 回転、ベネチアン ストアまたはアコーディオンのように、タイルを隣接させますか?

私は縦に並べられたタイルのセットを持っています。これらは、X 軸を中心に回転することを意図しています。アコーディオンを考えてみてください。各タイル n+1 が常にタイル n にぶら下がっているようにします。

最後の 2 つのスクリーン ショットのシアンのタイルは、黄色のタイルに接続する必要があります。そうではない。私はなぜなのか理解していない。さらに言えば、row0 を回転させると、次の 5 つのタイルがすべて回転されるのはなぜですか (これが私が望むことです)。 3番目と4番目のタイル。

参考までに、設定は次のとおりです。

現在、プレーンな CALayer のように 6 つのタイルを作成しています。

ここで、そのような各タイルを親 CATransformLayer にラップし、それをの行のサブレイヤーとして追加します。これは、各 CATransformLayer がそのサブレイヤーに影響を与えるようにするためです。

この時点で、次のようになります。

ここに画像の説明を入力

そして、最後の行を次のように置き換えるまで、それを釘付けにしたと思いました:

そして、ここに私が得るものがあります:

ここに画像の説明を入力

代わりに、上記の行を次のように置き換えます。

私はこれを得る:

ここに画像の説明を入力

これに細心の注意を払いながら、 Appleのドキュメントを読んで再読しました:

アンカー ポイントが幾何学的操作に影響を与える

レイヤーのジオメトリ関連の操作は、そのレイヤーのアンカー ポイントに関連して発生します。これには、レイヤーの anchorPoint プロパティを使用してアクセスできます。アンカー ポイントの影響は、レイヤーの位置または変換プロパティを操作するときに最も顕著になります。position プロパティは常にレイヤーのアンカー ポイントを基準にして指定され、レイヤーに適用する変換もアンカー ポイントを基準にして行われます。

(私のものを強調)

私は今、完全に混乱していると言っても過言ではありません。誰でも私が間違っていることを確認/説明できますか?

タイルが常に上から下に隣接するようにこれらのレイヤーを配置するにはどうすればよいですか?

レイヤー階層のダンプは次のとおりです。

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

ios - CATransformLayer を 3D で PNG にレンダリング

複数の CAShapeLayers を含む CATransformLayer を png ファイルにレンダリングしようとしています。基本的なレンダリングを設定する方法を知っていて、うまくいきます。

ただし、CATransformLayer で renderInContext を呼び出すと、すべてが 2D にフラット化され、変換マトリックス (回転および/または視点) が完全に無視されます。

すべての CAShapeLayers を使用して 3d CATransformLayer を PNG / UIImage にレンダリングするにはどうすればよいですか?

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

objective-c - CATransform3DRotate のロジック

写真のようにビューを変換しようとしています:(top and sideView)

ここに画像の説明を入力

前に各ビューをビューに追加しました(view1はview3を追加するview2を追加します)。

view3 を view1 と同じ角度に戻す正しい方法を見つけるのに苦労しました。

これは私が試したものです:

このコードを使用すると、View3 は 45 度未満になりました。私の質問: 45 度の角度で from2 から view3 に切り替えるにはどうすればよいですか?