問題タブ [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 投票する
7 に答える
27360 参照

ios - UIBezierPath からポイントのリストを取得するには?

ポイントのリストを取得する必要があるUIBezierPathがあります。

Qtは、私のニーズに合うと呼ばれる関数がありpointAtPercentますが、 に同等のものは見つかりませんObjective-C

誰もこれを行う方法を知っていますか?

0 投票する
12 に答える
35215 参照

ios - iPhoneで「吹き出し」を描く方法は?

ドック内の何かを右クリックしたときに、Mac OS X に似た「吹き出し」効果を得ようとしています。これが私が今持っているものです:

代替テキスト

下部の「三角形」の部分を取得する必要があります。そのようなものを描き、その周りに境界線を引く方法はありますか? こちらはiPhoneアプリになります。

前もって感謝します!

編集: Brad Larson に感謝します。現在の様子は次のとおりです。 代替テキスト

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

ios - ビューで多くの UIBezierPath を描画する

UIBezierPath指の動きに基づいてビューにいくつかの s を描画しています。

タッチのサイクル (Began/Moved/Ended) が完了するたびに、ポイントをUIBezierPath保存し、 という配列に保存される を作成しますbezierArraybezierArrayColors各パスの色を格納するという別の配列があります。

問題はこれです。クラスはdrawRect. 私が見る限り、実行するたびにdrawRect、これまでに作成されたすべてのパスを描画する必要があり、アプリは遅くなりました。

これが私のdrawRect今です。私はそれがかなり不自由であることを知っていますが、これがどのように行われるかわかりません。

UIBezierPathサブパスを使用して、異なる色または幅でa をストロークする方法はありますか? つまり、サブパスの色、幅、その他のプロパティを変更するには? UIBezierPathこれにより、複数の異なるサブパスで1 つを使用できるようになります。毎回再描画する必要なく、1 つのベジエを描画してそのままにしておくことができればいいのにと思います。私は何が欠けていますか?

0 投票する
0 に答える
650 参照

ios - 単純な iOS レイヤーのサブクラスが正しく配置されない

これを実行すると、位置が少しずれて表示されます。これは、drawInContext 関数を備えた単純な CALayer サブクラスであり、View Controller に配置されます。

レイヤーを作成して追加すると、コントローラー コード内のこのコードで実行されます。これが実行されるので、レイヤーが作成されます。しかし、位置が正しくありません。縦向きの方がうまくいくようですが、回転を検出する方法も必要です(ただし、それはすぐには問題になりません)。

主な問題は実際の描画にあるようで、コードは次のとおりですが、needsDisplay を呼び出しても実際には実行されません。

このコードを他に探す場所がわかりません。アイデアや方向性は大歓迎です。

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

iphone - UIBezierPath を既存の UIImageView に保存するには?

描かれた道をuiimageに保存する方法がわかりませんか?
uigraphicsbeginimageContextなどを使用する必要があることを知っています。
しかし、私はそれを私のタッチ機能のどこに置くべきかわかりません。

すべてのパスを画像に保存する必要があります。なぜなら、描かれた各ラインの後に色とアルファの値を変更できるようにしたいからです。
このコードを使用すると、値を変更すると同時に、すべての行が色と幅で調整されます。

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

iphone - NSDictionary の UIBezierPath - 可能ですか?

UIBezierPath とその他の値を NSDictionary に保存しようとしています。

私は辞書に次のように書いています。

touchesBegan:

touchesEnded:

そして、このように読んでください:

しかし、私はこのエラーが発生します:

私が何か間違ったことをしているとは思わないでください。

辞書ログ:

パスのない辞書:

ログ出力:

こちらもクラッシュで終了。

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

iphone - iPhone - UIBezierPath を CGPath にコピーし、オリジナルとしてレンダリングする

いくつかのパスセグメント、実線、破線、線、色、円弧などで構成される複雑な UIBezierPath を作成しました。これを持っているので、CGContext にレンダリングしたいと思います。

だから、私はそれをCGPathReferenceに変換します

問題はこれです: 理論的には、CGContext にパスを描画したい場合、異なる必要があるセグメントごとにストロークの幅、色、線のスタイル、ブレンド モードなどを定義する必要がありますが、UIBezierPath はhave already created には、このすべての情報が含まれています。

それで、CGContextにあるようにCGPathを「スタンプ」するだけの方法があるのではないかと思うので、元の情報がすべてスタンプされますか?

ありがとう。

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

iphone - iPhone-CGContextでUIBezierを理解しようとしています

UIBezierを持っていて、drawRectを使用してビューに描画すると、ベジェは一種の揮発性であることがわかります。つまり、実際にはどこにも描画されていません。代わりに、そのビューに表示されるものに対応する一種のバッファーに書き込まれたようなものです。つまり、[self setNeedsDisplay]を使用してdrawRectを再度呼び出すと、ベジェがなくなり、他のものを書き込むことができます。

一方、CGContextにlikeを描くと

私は実際にそのコンテキストに行を書き込んでいますが、それを消去する方法はありません。同じメソッドを再度呼び出すと、すでに1本の線が描画されているコンテキストに上書きされます。

しかし、UIBezierコマンドを使用してCGContextに書き込むとどうなりますか?

つまり、私が次のようなことをすると

この行は永続的にctxに書き込まれますか、それとも以前のように揮発性ですか?ドキュメントにはそれに関する情報が含まれておらず、いつものようにあいまいです。

ありがとう

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

ios - UIView で複数の UIBezierPath を異なる色で描画する方法

UIView に異なるストロークと塗りつぶし色で複数の UIBezierPath を描画したいと思います。

ここにコードがあります

問題は、ストロークと塗りつぶしの色が現在のコンテキストに設定されていることです。同じ CGContextRef で異なる色の異なる UIBezierPath を描画することは可能ですか?

または、各 UIBezierPath を個別の UIView に描画する必要がありますか?

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

ios - UIBezierPath を描画して操作する方法

アプリケーションで建物のフロアのマップを実装および設計したいと考えています。始める前に、いくつかアドバイスをしたいと思います。

UIBezierPath を使用して形状を描画する予定です。各 UIBezierPath は、マップ上のショップを表します。これが図です(map_with_UIBezierPath

私のコード構造は次のとおりです。UIViewController と UiView があります。UIViewController の "viewDidLoad" メソッドで UIView をインスタンス化し、UIView の "drawRect" メソッドで次のような形状を描画します (UIBezierPathExtension は UIBezierPath から継承します)。

また、UIViewController にパンとピンチのジェスチャを実装しました。

今、私はどのようにすべての形状と対話できるかを尋ねています。それを1回タップしたことを検出し、色を変更して、選択した形状にそのようなメニューを表示したいと思います。

誰かが正しい方向を教えてもらえますか?

事前にThx