問題タブ [catransform3drotate]
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.
ios - 円を歪ませて 3D の外観にする UIView Transform プロパティ
MKMapView
を追加して使用していMKCircleView
ます。から継承しUIView
ているため、transform プロパティを使用できます。
変換なしでは非常に平らに見えますが、3D であるため、ピンの横では奇妙に見えます。
次のように歪ませたいと思います。
を設定する例で遊んでみましたCATransform3DRotate
が、関連する数学は私のスキルではないため、何も近づきませんでした。
これどうやってするの?
ios - CATransform3DMakeRotation は、アニメーション中に UIView の半分を非表示にします
CATransform3DMakeRotation で次の UIView アニメーションを使用すると、変換中に UIView の半分が消え、完了時に再び表示されます。これは、インターフェイス ビルダーのビュー階層で UIView の背後に UIImageView がある場合にのみ発生します。
以下は、インターフェイス ビルダーのビュー レイアウトです。
そして下のアニメーション結果。
2 番目の画像は、アニメーションが実行される前のもので、左半分が消えています。収縮した後、中心点を超えて成長すると、4 番目の画像に示すように、右側 (前の左側) が再び表示されます。
で背景画像を設定した場合
アニメーションは期待どおりに完了します。
objective-c - 3D 空間で回転するときに UIViews の背面の可視性を非表示にする - Objective C
backface-visibility
CSS3 には( Mozilla Developer Network の説明)というプロパティがあります。
Cocoa Touch/Objective C に、3D 空間で回転させるときに UIView の内容を (背景色を除いて) 非表示にできるようなものはありますか?
(私がここで意味することの HTML5 デモもあります: CSS3 デモ)
サブビューを非表示/フェードアウト/インするために、アニメーションでハードコーディングする必要は本当にありません!!
ありがとう。:)
uiview - Y および Z 方向に UIView を傾ける
私のグラフィックスは、ビュー コンテンツがグラフィックスと適切に整列するために、z 軸に沿って深さ方向に回転する必要があるようなものです。おそらく、z 方向に 5 ~ 10 度、y 方向にマイナス 5 ~ 10 度です。
現在、私はこれを使用しています:(argViewは私のイメージビューです)
しかし、これは私に非常に歪んだイメージを与えます-間違いなく私が望むものではありませんが、そこで何を提供すべきかわかりません.
私はアップルのドキュメントを読むことから始めましたが、機能が多すぎて混乱しています。誰かが私にとってそれを非常に簡単にする良いガイドを持っていれば、素晴らしい. 誰かがこの正確なことがどこで行われたかを指摘できれば、もっと素晴らしい.
core-animation - CALayer sublayerTransform (CATransform3D) - 「カメラ」を移動するにはどうすればよいですか?
試行A
このコード
この結果を与える
赤枠がレイヤーの背景色
試行 B
このコード
この結果を与える
赤枠がレイヤーの背景色
では、何が問題なのですか?
「試行 A」のレンダリングされた例では、左中央から見ているため、折り目が間違った角度から見られます (左の折り目は右の折り目よりもわずかに薄くなります)。
「試行 B」のように、x 軸に変換することで、正しくレンダリングできますが、別の間違いが発生します。コンテンツが範囲外になりました (赤い四角形が境界です)。
カメラを真ん中からどうしたらいいですか?
uilabel - UILabel の透視変換
にパースペクティブを追加UILabel
して、斜めの面にペイントされているかのように表示しようとしています。
これが私のテストラベルです:
そして、変換を適用した後:
私のコード:
私はたくさんの問題に悩まされています:
UILabel
ラベル内のテキストは、それ自体と同じように変換を適用していないようです。フレームから外れて (クリップされて)、中央に配置されておらず、ジオメトリが正しくないようです。サイズも間違ってるかも?- ぼやけています。ラスタライズする前に、テキスト ベクトルに変換を適用するにはどうすればよいですか。そうすることで、メリハリのある結果が得られると思います。
zDistance
との回転の調整がうまくいかないようdegrees
で、正しい遠近感が得られます。zDistance
に基づいて正しく計算するにはどうすればよいdegrees
ですか?
(1) (2) (3) を解決するための助けをいただければ幸いです。どうもありがとう
ios - CATransform3DRotate の後、ビューの半分が消える
ビューが 1 つあり、このビューには UIImageView と UILabel が 1 つあります。ビューを回転すると、ビューの半分が消えます。
これは私のコードです
viewToAnimate は、画像とラベルを含むビューです。
objective-c - CATransform3D の使用
テーブルビューを回転させてテーブルを傾けようとしています(スターウォーズのオープニングクロールに似た3Dテキストクロールの効果を与えるため)。
周りを見回した後、私はこの質問を見つけましたObjective-с CALayer UIView 実際の回転
受け入れられた答えは私が望むことをしているようですが、コードをTableViewに適用すると何もせず、テーブルはいつものように表示されます。
これは私がコピーしているコードです:
文字列の配列を作成した後(tableViewにデータを入力する)、これをviewDidLoadメソッドに配置しています
現在、コントローラーには他に 3 つのメソッドしかありません。
didReceiveMemoryWarning (プロジェクトの作成時に自動的に追加されます)
tableView: numberOfRowsInSelection (テーブル ビューの設定に使用) tableView: cellForRowAtIndexPath (テーブル ビューの設定と配列からのセル テキストの設定に使用)
私の理解では、テーブルビューには CALayer があり、CATransform3D はこれを操作して 3D 空間でのビューの表現を提供します。私の理解が正しければ、リストが画面に正常に表示される理由がわかりませんか? 私はまだ私が望む効果を与えていない数字に感謝していますが、画面上のtableViewの外観には少なくとも影響を与えるはずです。
また、QuartzCoreなどをインポートして、リンクされたフレームワークに追加しました
解決策は、セルがnullであることを確認した後、 - (UITableViewCell *)tableView: cellForRowAtIndexPath: メソッドでOLD answerとしてマークされたコードを使用することです。
iphone - CATransform3DMakeRotation 使用時のパースペクティブなし
を使用して UIView レイヤーで 3D 回転を実行しようとしていCATransform3DMakeRotation
ます。なぜこの単純な例がパースペクティブを示さず、代わりに押しつぶされたように見えるのか、私は混乱しています。を使用すると回転を機能させることができますが、回転さCATransform3DRotate
せたくないので、回転させたいです。ありがとう。
これがどのように見えるかのスクリーンショットです:
Davidの回答後の更新:
順序が重要であるという David の主張を強化するために、行列の違いを確認したいと思い、これをコード化しました。
次の出力が生成されます。
ios - レイヤーを再度反転できません,CALayer,CATransform3DRotate.
私がやろうとしていることは次のことです:
- ボタンをクリックして上下反転します。
- ボタンをもう一度クリックすると、レイヤーが元に戻ります...
コードは次のとおりです。
ただし、ステップ 1 では、レイヤーが 180 度反転し、ボタンをもう一度クリックしても何も起こりません。
私は途中で何かを逃しましたか?助けてください。