問題タブ [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.
iphone - UIBezierPathを使って滑らかな直線を描くには?
を使用してiPad画面に直線を描画できるようにしたいUIBezierPath
。これについてどうすればいいですか?
私がやりたいことは次のようなものです: 画面をダブルタップして開始点を定義します。指が画面の上に来ると、直線が指と一緒に移動します (これは、直線を作成するために次の指をどこに置くべきかを把握するために発生するはずです)。次に、画面をもう一度ダブルタップすると、終点が定義されます。
さらに、終点をダブルタップすると、新しい行が始まるはずです。
ガイダンスに使用できるリソースはありますか?
iphone - 不規則な形状の UIBezierPath の塗りつぶし
私はいくつかのカスタムコントロールを作成しています。コントロールのサブビューの 1 つは透明UIView
で、UIBezierPath
パスが描画されています。写真の 1 つは境界線としましょうUIBezierPath
([パス ストローク] と呼ばれます) ですが、2 番目の写真では [パス フィル] を呼び出すとどうなるかがわかります。最初の写真のような形になるようにパスを塗りつぶしたいと思います。drawRect
このトランスペアレントからのメソッドUIView
は以下のとおりです。
手伝ってくれてありがとう !
ios - UIViewのセクションを切り取るか無効にする方法は?
UIViewのカスタムサブクラスであるLineDrawingViewがあります。これをメインのViewControllerに@propertyとして持っており、ビューに追加します。これは正常に機能します。現在のビューの上に透明なビューを作成し、UIBezierPath、touchesBegan、touchesMovedなどを使用して、指をドラッグしてビュー全体に描画できるようにします。
その描画ビューを「L」字型にする必要があるので、左下隅にさまざまなコントロールが配置されている領域を作成できます。2つの別々の長方形の描画ビューを追加する以外に、描画ビューを「L」字型にする方法は考えられませんが、一方の長方形からもう一方の長方形に指をドラッグするとタッチが中断されるため、これは機能しません。私が思いついたもう1つの解決策は、図面ビューの上に別のビューを追加することです。このビューは描画を防ぐはずです。また、描画が有効になっている間もコントロールを使用できるように、コントロールをその中に配置することもできます。
UIViewを作成し、それを図面ビューのサブビューとして追加してみました。私はそれに色合いを付けたので、それが存在し、適切な場所にあることを確認できました。これにより、新しいUIViewの領域内での描画が妨げられると予想しましたが、描画はLineDrawingViewの領域全体で続行されます。また、新しいUIViewをインデックス2に挿入し、LineDrawingViewをインデックス1に挿入してみましたが、それでも描画には影響しませんでした。
私は知りたいです:どうすれば私は...
「L」字型の図面ビューを作成しますか?または、ユーザーがその背後にあるものと対話できるように、図面ビューのセクションを切り取りますか?または描画を無効にしてコントロールを追加できる領域を描画ビューの上に課しますか?
objective-c - CGContextSetShadowWithColor と一緒に使用すると UIBezierPath のパフォーマンスが低下する
ユーザーが指のタッチで線を引くか、単に色をスプレーするアプリを開発しています。UIBezierPath を使用して、次のコードで drawRect メソッドの指のタッチでパス (色) をペイントしています。
CGContextRef コンテキスト = UIGraphicsGetCurrentContext();
このコードはシミュレーターでは完璧に機能しますが、デバイスではスプレーが非常に遅くなります。問題はメソッド呼び出し CGContextSetShadowWithColor にのみあります。この行のパフォーマンスをコメントすると、まったく問題はありません。
なぜそうなのか、どうすればいいのか教えてください。この線は、ぼやけた影でスプレーのような効果を表示したいので必要です。
iphone - UIBezierPath減算パス
を使用[UIBezierPath bezierPathWithRoundedRect:byRoundingCorners:cornerRadii:]
することで、次のような丸みを帯びたビューを作成できます。
このパスから別のパスを(または他の方法で)減算して、次のようなパスを作成するにはどうすればよいですか?
このようなことができる方法はありますか?擬似コード:
cocoa-touch - アニメーションの UIBezierCurve に沿った特定のポイントを照会していますか?
最近、ベジエ パス (一連の xy ポイントと xy コントロール ポイント) のデータを含むファイルをエクスポートする Maya 用のスクリプトを書き終えました。
このベジェ パスは、アプリ内でキャラクターが一定の速度で移動する 3D の「レール」またはパスを表すためのものです。
UIBezierCurve の作成方法は理解していますが、曲線に沿って移動する距離が与えられた場合に、曲線上の点の x / y 位置を取得する方法が可能かどうかについての確実な情報を見つけることができないようです。
Appleでこのリストを見つけました:
http://lists.apple.com/archives/cocoa-dev/2002/Feb/msg01806.html
しかし、その関数が何を返しているのか、それを使用して目的を達成する方法をよく理解していません。
ヘルプ/アドバイスをいただければ幸いです。
ありがとう - アダム・アイスフェルド
ios - UIBezierPath の破線を通常の線にリセットします
UIBezierPath
の- (void)setLineDash:(const CGFloat *)pattern count:(NSInteger)count phase:(CGFloat)phase
メソッドが破線を描画できることは知っています。
しかし、プログラミングで通常の行にリセットする方法は?
objective-c - UIBezierPath のデバッグ
コードで生成した を表示するのに苦労しているUIBezierPath
ので、デバッグしようとして、プロットされている座標を印刷したいと思います。このテクニックはどこにもありません。以下のコードを使用して、誰かがこれを共有できますか?
ありがとう
objective-c - NSBezierPathで描画されたものを消去するにはどうすればよいですか?
NSBezierPathを使用してパスを作成し、[パスフィル]を実行してビューに描画しました。私の質問は、私が描いたものをどのように削除するのですか?
考えられる解決策の1つは、背景色で[パス塗りつぶし]を再度使用することですが、単純な背景色の代わりに背景画像がある場合、これは機能しません。それで、誰かが何かアイデアを持っていますか?