問題タブ [cgaffinetransform]

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 投票する
1 に答える
751 参照

iphone - UIImageView と CGAffinetransform で描画された複製レイヤー

UIImageView のレイヤーに変換を適用する際に問題が発生しています。以下のコードを使用して、この針を回転させようとしていますが、重複したコピーが描画されています。他に針の画像が追加されている箇所がないことを確認し、コメントアウトするaddSubviewとどちらも表示されないので確実に二重描画です。

左側の針は、画像ビューを開始する位置にあり-20ます。右の針は回転し、 の正しい値を表示する働きがありますneedleValue。ドローを重複して取得するために何が間違っていますか?

代替テキスト

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

ios4 - iPhoneはUIImageViewをコードで配置しますか? 確かに解決は簡単

これは非常に単純なので、なぜこれができないのかわかりません。私がやりたいのは、アプリがアクティブになったときにいくつかの UIImageViews を配置することだけです。私は CGAffineTransformMakeTranslation を使用していましたが、ビューを設定された位置に移動するのではなく、設定された量だけ移動するため、これは正しくないことがわかりました。何を使用すればよいですか?

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

ios4 - iPhoneはアニメーションCGAffineTransformのリセットに役立ちますか?

こんにちは私はCGAffineTransformアニメーションと完全に混乱しています。私がやりたいのは、スプライトを右側の位置から左側の位置に移動することだけです。停止したら、「リセット」します。つまり、開始した場所に戻します。アプリが(マルチタスクで)終了した場合、開始時に位置を再度リセットして、アニメーションを繰り返します。

これは私がアニメーションを作るために使っているものです。

私が理解しているように、CGAffineTransformsは、スプライトを視覚的に移動したように見せますが、実際には移動しません。したがって、私が使用して位置を「リセット」しようとすると

ufo.center = CGPointMake(355、70);

何もしません。

私が電話すれば、私は何かが機能しています

ufo.transform = CGAffineTransformTranslate(ufo.transform、270、-100);

リセットします。問題は、アニメーションの途中でアプリを終了した場合、再起動したときに必ずしも最初から開始されるとは限らず、適切な場所に移動しないため、基本的にクレイジーになります。

適用された変換を削除する方法はありますか?タイマーだけを使うことを考えていますが、この方法がうまくいくのはばかげているようです。私はこれにしばらく苦労してきたので、どんな助けでも大歓迎です。

ありがとう

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

xcode - iOS の Arched UILabel

テキストがアーチ型 (丘の形) になるように UILabel を変換する方法を見つけようとしていますが、あまり運がありませんでした。私は CGAffine 変換を見てきましたが、私が達成しようとしていることはあまり見つかりませんでした。何か案は?

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

ios - CGAffine を使用した回転ビューの後の平行移動

テキストフィールドを含むビューがあります。このようにビューの向きを設定します

私の問題は、一部のテキストフィールドがキーボードによって隠されているため、キーボードが表示されたときにそのビューを上に移動させたいことです。CGAffineTransformMakeTranslation を使用する必要があると思いますが、その回転後に使用する方法がわかりません。

誰かがこの問題を解決するのを手伝ってくれますか??

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

ipad - 画面上の特定のポイントに到達するために、連続する CGAffineTransforms を追跡する方法は?

実行されたすべての操作を追跡せずに、複数の CGAffineTransform 操作を (アニメーション ブロックで) どのように実行しますか?

平行移動操作では、x、y 座標は使用されませんが、代わりにシフトする値が使用されます。つまり、現在翻訳されている場所、たとえば「場所 2」がわからない場合、「場所 3」に到達するためにどの値をシフトすればよいかをどのように知ることができるでしょうか?

例えば:

UIView のフレームは (0, 0) - 位置 1 にあります。変換を (768, 0) に変換し、-90 度回転 - 位置 2 に設定します。時間が経ち、(768, 1024) に移動したいと思います。さらに -90 度回転 - 位置 3.

2 位から 3 位に移動するために何を変換すればよいかを知るにはどうすればよいですか?

コンテキストでは、次のような iPad ビューを実現しようとしています。

  • 画面全体を占める UIView
  • 上端を占め、UIView の上にある UIToolbar
  • iPad が回転すると、UIView はデバイスにとどまりますが、ツールバーは常に画面の上端に来るように回転します。

CGAffineTransform の移動と回転を使用してツールバーを移動しています。iPadを複数回回転させる場合を除いて、うまく機能します。最初の変換/回転は完璧に機能します。シフトする正しい値がわからないため、次の変換はオフになります。

アップデート:

UIView.transform 構造体で現在の変換 (tx、ty) 値を取得し、それらと新しい場所の違いを使用すると、機能するように見えます。ただし、ビューが回転している場合、これは機能しません。tx と ty の値は、前のローテーションにより反転する可能性があります。私はそれを処理する方法がわかりません。

更新 2:

いくつかの調査を行うと、ポイントの abs 値を取得し、UIView が垂直の場合は x と y を交換することで、tx、ty から元の回転していないポイントを取得できることがわかりました。今、次の一連の変換を正しい順序で正しく適用する方法を考え出しています。それらをどのように連結しても、UIViewは間違った場所に行き着くようです。これは複雑すぎるように思えますが、もっと簡単な方法があるはずです。

0 投票する
4 に答える
6699 参照

iphone - UIView のアニメーションによる移動と回転がうまく機能しない

UIView の移動と回転を同時に行うアニメーションを作成したいと考えています。次のコードを試しました:

その結果、アニメーションが終了した後、ビューが正しく描画されません (一部のパーツが表示されなくなります)。アニメーションのフレームまたは変換のみを変更すると、ビューは正しく描画されます。この問題は、フレームと変換の両方を設定した場合にのみ発生します。

ビューの移動と回転を同時にアニメーション化する正しい方法は何ですか?

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

iphone - z軸+ iphoneについてImageViewを回転させるには?

カルーセル ビュー (フォト ギャラリー) をカスタマイズしました。スクロールすると、画像が画面の背面に向かって回転します。画像が円を描くように動いているような印象を与えます。

CGAffineTransformRotatex軸で画像を回転させるだけです。最終的に画像が画面に対して垂直になるように回転させたいと思います。

考えている人はいますか?

編集:**私の質問は明確ではなかったと思います。私が欲しいのは、画面上の画像を回転させて画面に垂直にすることです。直線としてのみ表示されるはずです(または、斜めの画像として 45 フィートにある場合)?**

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

ios - CGAffineTransformTranslate が iOS 3.1.3 で機能しない


UIAlertView を画面中央のデフォルト位置から上に移動しようとしています。以下のコードを使用していますが、iOS 4 では動作しますが、3 では動き
ません。

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

iphone - CGAffineTransformRotate を適用した後に UIImageView を移動する方法は?

私はiPhoneアプリを構築しています。UIImageView サブクラス オブジェクトのセットを含む UIView があります。ユーザーはタッチで画像ビューをドラッグおよび回転できます。画像ビューを回転した後、画像ビューを移動するのに問題があります。

画像ビューを回転するには、変換回転を適用しますが、これは正常に機能します。次のようになります。

ユーザーがタッチで要素を移動しようとすると、後で問題が発生します。touchesBegan:WithEvent: では、開始点をクラス変数 startLocation: に保存します。

touchesMoved:withEvent: には、次のコードがありました。これは、画像ビューに回転変換がない場合でも十分に機能します。

しかし、画像ビューに回転変換がある場合、画像ビューは touchesMoved イベントごとに画面上でスラッシングし、すぐに消えます。デバッガーで、pt の値が非常に大きくなっていることがわかりました。その点を変換する必要があることに気づき、次のようにしました。

これははるかにうまく機能しました。画面上で画像をドラッグできるようになりました。ただし、変換の回転角度とイメージ ビューのサイズに応じて、最初の動きでイメージがいずれかの方向に 1 回揺れます。

最初の衝撃を与えずに画像ビューを移動するにはどうすればよいですか?

startLocation (タッチが開始されたときにキャプチャしたポイント) を変換する必要がないのはなぜですか?