問題タブ [drawrect]

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

iphone - 別のクラスから UIView で setNeedsDisplay を呼び出す

タッチに基づいて多くのグラフィックスを操作する UIView サブクラスがあります。[self setNeedsDisplay] 呼び出しはすべて問題ないようです。

ただし、同じ UIView サブクラス インスタンスへのインスタンス変数ポインターを使用してから、それを操作して別の UIView クラスから [UIViewSubClass setNeedsDisplay] を呼び出してみましたが、DrawRect は呼び出されません。setNeedsDisplay を呼び出す場所に制限はありますか?

(このメソッドは、別の UIView サブクラスでボタンがクリックされたときに呼び出されます。メソッドは呼び出されていますが、DrawRect ではありません)

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

iphone - iPhone: drawRect が呼び出されないのはなぜですか?

わかりました、何か重要なものを見逃しているようで、答えが見つからないようです。非常に小さいため、すべてのコードを投稿しています。

誰かが私が間違っていることを教えてもらえますか? 私はかなり長い間、例を次々と見てこれに取り組んできましたが、何もうまくいかないようです。

アプリを作成するときは、UIViewController を提供するスケルトンを使用します。コントローラーにビューを配置しました。コントローラーにリンクする変数を作成します。nib の UIView を UIView に接続しようとすると、コンパイラはそれで問題ありませんが、「ビュー」にも接続することを主張するか、アプリがクラッシュします。それが問題であっても驚かないでしょうが、もしそうなら、それを修正する方法がわかりません.

コードは次のとおりです。

DotsieAppDelegate.h:

DotsieAppDelegate.m

DotsieViewController.h

DotsieViewController.m

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

iphone - NIBからロードされたUIImageViewでDrawRectを使用できますか?

いくつかのボタンコントロールを含むNIBファイルを作成しました。背景として、プロジェクトからロードされたPNGファイルを含むImageViewがあります。

私がやりたいのは、ImageViewの上に描画することです。UIが文字盤であり、背景画像の上に時計の針を描画したいとします。

UIImageViewをサブクラス化して、そのDrawRectを使用しようとするのは正しいアプローチですか?デフォルトビューのDrawRectを使用する場合、画面に何も表示されません。

ドキュメントのこの特定の部分を理解するのが難しいと感じているので、私は少し迷っています。ありがとう。

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

cocoa - imageViewの中央にあるimageviewでデフォルトの画像を描画するには?

imageView の中央にある imageview にデフォルトの画像を描画する方法 - (void)drawRect:(NSRect)rect NSImageView の上書きメソッド

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

iphone - UIViewコンテキストへの描画が消えるのを防ぐ方法は?

アプリで簡単なフィンガーペインティング機能を作成したいと考えています。問題は、UIView サブクラスのビュー インスタンスに対して行った描画が、drawRect 呼び出しのたびに消去されることです... UIView でコンテキスト描画を保持するにはどうすればよいですか?

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

iphone - ビュー インスタンス drawRect 内のモデル データへの参照

別の初心者の質問: モデル、コントローラー、およびビュー クラスを備えた単純な iPhone アプリがあります。

モデルの変数(サイズや位置など)を使用してビューに長方形を描画したい

drawRect メソッド コード内で、モデル インスタンスの変数を参照する最良の方法は何ですか? (モデルはコントローラー内からインスタンス化されます - MVC 設計パターンで推奨されているように)

KVO? KVC ? バインディング ? テレポーテーション ?

助けてくれてありがとう。

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

iphone - カスタム ビューでの奇妙なアンチエイリアシング

私はそのメソッドUIViewを使用して描画されるカスタムを持っています。-[drawRect:]

問題は、黒い線の水平線または垂直線が非常にぼやけて描かれるため、アンチエイリアシングが非常に奇妙な動作をすることです。

でアンチエイリアスを無効にするとCGContextSetAllowsAntialiasing、すべてが期待どおりに描画されます。

アンチエイリアシング:
代替テキスト http://dustlab.com/stuff/antialias.png

アンチエイリアシングなし (AA で期待される結果のように見えます):
alt テキスト http://dustlab.com/stuff/no_antialias.png

線幅は正確に 1 で、すべての座標は整数値です。

を使用して四角形を描画すると同じことが起こりますが、 を使用してまったくCGContextStrokeRect同じように描画した場合はそうではありません。CGRectUIRectStroke

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

iphone - アルファ画像のカスタム描画

私は画像(アルファ付き)のカスタム描画を行おうとしていますが、最終的には異なる色合いを適用します。今、私はそれを正しく描こうとしています。これは単純な問題かもしれませんが、結果として画像の ALPHA が黒くなります。画像は、正しいアルファを使用して Photoshop から作成された .png です。

blendMode は通常で、アルファは 1.0 です。アルファが黒であることを除いて、画像は良好です。どんな助けでも感謝します。

別の描画方法を試してみましたが、黒いアルファと上下逆さまを示しています (今は逆さまであることは気にしないでください)

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

objective-c - 追加されたサブビューで drawRect が呼び出されない

contentViewカスタム コントロールと 1 つのカスタムコントロールを含むウィンドウをプログラムで作成しようとしていますが、NSTextFieldこのウィンドウとビューの階層を自分自身で描画するのに問題があります。

カスタムのボーダレス ウィンドウを作成し、そのsetContentView/contentViewアクセサーをオーバーライドします。これは正常に機能しているようで、カスタムの contentViewinitWithFramedrawRectメソッドが呼び出され、contentView が正しく描画されます。

NSTextFieldしかし、プログラムでカスタムを追加しようとするとすぐに、contentView追加または描画されません。カスタムとは、指定されたイニシャライザ ( initWithFrame:frame- カスタム フォント設定のみ) と次のような drawRect メソッドをオーバーライドすることを意味します。

カスタム contentView の初期化子は次のようになります。

私はこれに数時間苦労してきたので、どんな指針も大歓迎です。リクエストに応じて、より多くのコードを入手できます。)

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

cocoa-touch - UIView. 「データ駆動型」の UIView を再表示するにはどうすればよいですか?

私はiPhone用の科学的視覚化アプリをやっています。UIView サブクラスは、オーバーライドされた drawRect: メソッドを介してレンダリングする必要があるデータをネットワークから定期的に受け取ります。

私の課題は、UIView の境界の変更を除いて無視される [myView setNeedsDisplay] 以外に、このデータが到着した (または変更された) ことを Cocoa-Touch に示す方法がないことです。非表示と非表示を試しました。ヌッシン。

気が狂ったことに、私がしたことは、UIView [myView setNeedsDisplay] の内部状態を変更することだけだったからです。この変更は Cocoa-Touch にはまったく見えません。この変更は、Cocoa-Touch によると、再描画を保証する基準の 1 つではありません。したがって、私の UIView は変更されずにそこに置かれます。

これは非常に、非常に、非常にイライラします。ここで壁にぶち当たりました。

誰かが私の UIView を再レンダリングするように促すテクニック、トリック、ハックを提案してください。

乾杯、ダグ