問題タブ [cgaffinetransformscale]

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

ios - UIView スケーリング変換により入力が失われる

基本的にクリック可能な (タッチ可能な) 領域を持つ画像を含むサードパーティの UIView を表示しようとしています。たとえば、クリックするとWebページが起動するリージョンが含まれています。このUIViewを全画面表示するUIViewControllerを作成しました。画像の幅と高さはわかっているので、このビューを全画面に合わせて拡大縮小する必要があります。

これが私の問題です。画像を拡大縮小しようとすると、サブビューのクリック可能な領域がクリックできなくなります。

スケーリングを行う方法は次のとおりです。

変換を行うと、すべてのタッチがそのサブビューではなく、ビュー コントローラーに移動するようになりました。今は何もクリックできません。変換を行わない場合、または変換を行っても ID を使用すると、すべてが機能しますが、希望どおりにスケーリングされません。変換すると、正しくスケーリングされますが、タッチが機能しません。

ビュー コントローラーでタッチを検出しようとすると、タッチ イベントを受け取ることができます。しかし、タッチ イベントをサードパーティ ビューに転送する方法がわかりません。

助言がありますか?

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

ios - CGAffineTransform のスケールと反転を同時に使用するにはどうすればよいですか

を使用してポイントの配列を変換しようとしていCGAffineTransformます。スケーリングは完全に機能しますが、ポイントは左下ではなく左上を (0,0) として使用しています。そのようです...

逆さグラフ

通常は単純に使用しますCGAffineTransformMakeScale(1,-1);が、既にスケールを実行しているため、既存の変換に追加することはできません。

これが私の現在のコードです

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

ios - CGAffineTransformMakeScale によるカスタム UIView のスケーリングは、touchesMoved でのドラッグを中断します

custom をドラッグするための簡単なテスト ケースを用意して、GitHub にチェックインしましたUIView

アプリのスクリーンショット

それはうまく機能し、ドラッグは次のようにTile.mに実装されます。

ただし、実際のゲームUIScrollViewにはタイルが大きすぎます (いずれにせよ、ゲーム ボードをズームしたら、タイルのスケーリングを調整する必要があります)。

アプリのスクリーンショット

だから私はUIView呼び出して私のカスタムを縮小します

サイズは変更されますが、タイルは必要に応じて「2 倍の速さで」突然ドラッグされます。

アプリのスクリーンショット

おそらくコード(上記)を調整する必要がありますが、操作touchesMovedによって何が壊れたのかわかりませんか?transform

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

ios - 親ビューの CGAffineTransformScale での UIButton の位置の問題

の幅と高さのサブビューとして追加されたUIView、スケーリング、パン、回転する があります。UIButton(0,0)50px

このボタンは、編集機能のトリガーとして機能します。私が抱えている問題は、縮小するようにUIView使用をUIPinchGestureRecognizer追加してスケーリングすると、サイズが一定に保たれるようUIViewに変換を反転することです。UIButton

ただし、UIViewスケールが変更されるため、UIButtonフレームが親の外側にはみ出してしまいUIViewます。これにより、ボタンの一部がクリックできなくなります。UIViewボタンが追加されたときのように常に原点に固定された親内にボタンを留めておきたいのですが、どうすればこれを行うことができますか?

UIPinchGestureRecognizer以下のハンドラーコードを追加しました。

前もって感謝します。

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

avfoundation - CGAffineTransform Translation と Rotation は丸められていない変換結果を生成します

与えられた変換計算に対して、

出力は[-1, 1.2246467991473532e-16, -1.2246467991473532e-16, -1, 1920.0000000000002, 1079.9999999999998]まだだろう[-1, 0, 0, -1, 1920, 1080]

丸め誤差の理由 丸められた結果を生成するには、別の方法で変換を適用する必要がありますか?

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

ios - サブビューの 1 つを除いて UIView をスケーリングします

私はUIViewこの方法でスケーリングしています:

ビューは適切にスケーリングされますが、そのサブビューの1つをスケーリングしないまま、つまりフルスクリーンにしたいです。これを達成する方法は?

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

ios - スケーリング時にUIViewの周りに一貫した2pxの境界線を維持するにはどうすればよいですか?

UISlider の値に基づいてスケーリングおよび回転できるカスタム UIView があります。スケーリングはうまく機能しています。

私の UIView には 2px の境界線があります:

ただし、ビューを大きくすると、境界線のサイズも大きくなります。ビューのスケールを無視する一貫した境界線を維持するにはどうすればよいですか?

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

ios - iOS CGAffineTransformScale は左アンカーを保持

を使用CGAffineTransformScaleしてUITableView縮小していますが、正しく縮小されていますが、アンカーポイントを正しく設定できないようです。

アンカーポイントを設定しないと、中心から縮小されますが、私の要件として、左上隅のポイントを固定しておく必要があります。このために私はこれを使用しました

しかし、これはアンカーを正しく設定しません..私が使用していないもう1つのことAutoLayout

誰か助けてください…?前もって感謝します..

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

ios - スクロールビューを 3 方向のみにスケーリングする

サンプルプロジェクトを作成しています。複数のビューを含むスクロール ビューがあります (上部には画像を含むUIImageViewフレームCGPoint = 0,0があります)。

次の機能を実装したいと考えています。

下にスクロールするたびに、スクロール ビューのコンテンツ オフセットが 0.0f 未満になり、下にスクロールし続けると、スクロール ビューの表示コンテンツを上方向以外のすべての方向にズーム/スケーリングしたいと考えています。

現在、適切な倍率でスクロール ビューをスケーリングしています。ただし、問題は、スクロール ビューがすべての方向にスケーリングされていることです。このスケーリングを左、右、および下方向のみに制限したい (つまり、コンテンツが上方向に移動してはならない)。

同じことをどのように実装できるかを親切に提案してください。

前もって感謝します。

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

ios - CGAffineTransform スケールが中心からスケーリングしない - エクスポートあり

私の質問/問題が他の投稿と異なるのは、ビューをスケーリングするのではなく、アセットレイヤーの命令 (AVMutableVideoCompositionLayerInstruction) をスケーリングしていることだと思います。そのため、アンカー ポイント、view.center、CG Rect スケーリングの設定はすべて機能しません。

CGAffineTransformMakeTranslation を使用してアセットを移動して、中央に配置されているように見せますが、これは非常に不正確です。中央から拡大縮小する方法がわかりません。不足しているプロパティはありますか? ドキュメントとガイドはあまり役に立ちませんが、何か見落としている可能性があります。

コードは以下です。よろしくお願いします!!! :)

また、CGTransforms で avasset をエクスポートする方法を探している人のために、以下のコードはそこに到達するためのすべての手順です。もちろん、CMTimeRanges などの詳細を記入する必要がありますが、これが誰かがこの紛らわしいことを理解するのに役立つことを願っています。