問題タブ [uibezierpath]

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

iphone - UIBezierPathを使って滑らかな直線を描くには?

を使用してiPad画面に直線を描画できるようにしたいUIBezierPath。これについてどうすればいいですか?

私がやりたいことは次のようなものです: 画面をダブルタップして開始点を定義します。指が画面の上に来ると、直線が指と一緒に移動します (これは、直線を作成するために次の指をどこに置くべきかを把握するために発生するはずです)。次に、画面をもう一度ダブルタップすると、終点が定義されます。

さらに、終点をダブルタップすると、新しい行が始まるはずです。

ガイダンスに使用できるリソースはありますか?

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

iphone - 不規則な形状の UIBezierPath の塗りつぶし

私はいくつかのカスタムコントロールを作成しています。コントロールのサブビューの 1 つは透明UIViewで、UIBezierPathパスが描画されています。写真の 1 つは境界線としましょうUIBezierPath([パス ストローク] と呼ばれます) ですが、2 番目の写真では [パス フィル] を呼び出すとどうなるかがわかります。最初の写真のような形になるようにパスを塗りつぶしたいと思います。drawRectこのトランスペアレントからのメソッドUIViewは以下のとおりです。

手伝ってくれてありがとう !

最初の画像 2 番目の画像

0 投票する
3 に答える
1397 参照

ios - UIViewのセクションを切り取るか無効にする方法は?

UIViewのカスタムサブクラスであるLineDrawingViewがあります。これをメインのViewControllerに@propertyとして持っており、ビューに追加します。これは正常に機能します。現在のビューの上に透明なビューを作成し、UIBezierPath、touchesBegan、touchesMovedなどを使用して、指をドラッグしてビュー全体に描画できるようにします。

その描画ビューを「L」字型にする必要があるので、左下隅にさまざまなコントロールが配置されている領域を作成できます。2つの別々の長方形の描画ビューを追加する以外に、描画ビューを「L」字型にする方法は考えられませんが、一方の長方形からもう一方の長方形に指をドラッグするとタッチが中断されるため、これは機能しません。私が思いついたもう1つの解決策は、図面ビューの上に別のビューを追加することです。このビューは描画を防ぐはずです。また、描画が有効になっている間もコントロールを使用できるように、コントロールをその中に配置することもできます。

UIViewを作成し、それを図面ビューのサブビューとして追加してみました。私はそれに色合いを付けたので、それが存在し、適切な場所にあることを確認できました。これにより、新しいUIViewの領域内での描画が妨げられると予想しましたが、描画はLineDrawingViewの領域全体で続行されます。また、新しいUIViewをインデックス2に挿入し、LineDrawingViewをインデックス1に挿入してみましたが、それでも描画には影響しませんでした。

私は知りたいです:どうすれば私は...

「L」字型の図面ビューを作成しますか?または、ユーザーがその背後にあるものと対話できるように、図面ビューのセクションを切り取りますか?または描画を無効にしてコントロールを追加できる領域を描画ビューの上に課しますか?

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

objective-c - CGContextSetShadowWithColor と一緒に使用すると UIBezierPath のパフォーマンスが低下する

ユーザーが指のタッチで線を引くか、単に色をスプレーするアプリを開発しています。UIBezierPath を使用して、次のコードで drawRect メソッドの指のタッチでパス (色) をペイントしています。

CGContextRef コンテキスト = UIGraphicsGetCurrentContext();

このコードはシミュレーターでは完璧に機能しますが、デバイスではスプレーが非常に遅くなります。問題はメソッド呼び出し CGContextSetShadowWithColor にのみあります。この行のパフォーマンスをコメントすると、まったく問題はありません。

なぜそうなのか、どうすればいいのか教えてください。この線は、ぼやけた影でスプレーのような効果を表示したいので必要です。

0 投票する
9 に答える
31906 参照

iphone - UIBezierPath減算パス

を使用[UIBezierPath bezierPathWithRoundedRect:byRoundingCorners:cornerRadii:]することで、次のような丸みを帯びたビューを作成できます。

丸みを帯びたビュー

このパスから別のパスを(または他の方法で)減算して、次のようなパスを作成するにはどうすればよいですか?

減算ビュー

このようなことができる方法はありますか?擬似コード:

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

cocoa-touch - アニメーションの UIBezierCurve に沿った特定のポイントを照会していますか?

最近、ベジエ パス (一連の xy ポイントと xy コントロール ポイント) のデータを含むファイルをエクスポートする Maya 用のスクリプトを書き終えました。

このベジェ パスは、アプリ内でキャラクターが一定の速度で移動する 3D の「レール」またはパスを表すためのものです。

UIBezierCurve の作成方法は理解していますが、曲線に沿って移動する距離が与えられた場合に、曲線上の点の x / y 位置を取得する方法が可能かどうかについての確実な情報を見つけることができないようです。

Appleでこのリストを見つけました:

http://lists.apple.com/archives/cocoa-dev/2002/Feb/msg01806.html

しかし、その関数が何を返しているのか、それを使用して目的を達成する方法をよく理解していません。

ヘルプ/アドバイスをいただければ幸いです。

ありがとう - アダム・アイスフェルド

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

ios - UIBezierPath の破線を通常の線にリセットします

UIBezierPath- (void)setLineDash:(const CGFloat *)pattern count:(NSInteger)count phase:(CGFloat)phaseメソッドが破線を描画できることは知っています。

しかし、プログラミングで通常の行にリセットする方法は?

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

objective-c - UIBezierPath のデバッグ

コードで生成した を表示するのに苦労しているUIBezierPathので、デバッグしようとして、プロットされている座標を印刷したいと思います。このテクニックはどこにもありません。以下のコードを使用して、誰かがこれを共有できますか?

ありがとう

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

objective-c - NSBezierPathで描画されたものを消去するにはどうすればよいですか?

NSBezierPathを使用してパスを作成し、[パスフィル]を実行してビューに描画しました。私の質問は、私が描いたものをどのように削除するのですか?

考えられる解決策の1つは、背景色で[パス塗りつぶし]を再度使用することですが、単純な背景色の代わりに背景画像がある場合、これは機能しません。それで、誰かが何かアイデアを持っていますか?