問題タブ [setneedsdisplay]

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

cocoa - setNeedsDisplay のみを呼び出す NSResponder メソッド

openGl ビューのサブクラスがあります。方法の 1 つで、背景を黒または白で描画するフラグを設定しました。メソッドの最後で setNeedsDisplay を呼び出します。これは決して呼び出されません!mouseDownEventにもsetNeedsDisplayがあります。ビューをクリックすると、IT は IT を呼び出します。背景の色が変わります。何か案は?これがコードです。

openGL ビューで

アプリデリゲートで

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

ios - iOS: NSURLConnection sendAsynchronousRequest の後に sleep(1) を使用する必要があるのはなぜですか?

インターネットから取得した画像を画面に表示したい。NSURLConnection を使用してデータを取得する非同期呼び出しを作成し、応答ブロックでコードを呼び出してそれを UIImage オブジェクトに割り当てました。

私の質問は、ブロックの実行後に sleep(1) を呼び出す必要があるのはなぜですか? 呼び出していない場合、画像は画面に描画されません。これを達成するための別のよりエレガントな方法はありますか?

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

objective-c - setNeedsDisplay:YES は描画しません

そのため、既存のウィンドウ内にカスタム ビューを描画する際に問題が発生しています。GraphViewビューに値のグラフを描画するために使用するカスタム クラスがあります。グラフは毎秒渡された変数を取得し、 を介して再描画する必要がありますsetNeedsDisplay:YES。この同じクラスをスタンドアロンの xCode プロジェクトで機能させることはできますが、これを機能させるには、Interface Builder のカスタム ビューから にコントロールを押しながらドラッグする必要がFile's Ownerあり、ビューが再描画されます。すべての描画コードはスタンドアロンの xCode プロジェクトで正しく機能するので、自分のdrawRectメソッドを理解でき、他のすべてのビュー メソッドは意図したとおりに機能します。GraphView同じことを行うと、現在のプロジェクトでこれを機能させることもできますが、applicationDidFinishLaunching実行されません。

サンプル プロジェクトのコードの内訳を次に示します。

で更新するビューを取得するために、GraphViewからInterfaceBuilder に接続する必要がないように、欠けている部分は何ですか。どんな助けや指示もいただければ幸いです。File's Owner[self.graph setNeedsDisplay:YES]

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

ios - iOS セット Need Display コールバック

もちろん、setNeedsDisplay を呼び出す効果がいつ発生したかをプログラムで知るにはどうすればよいでしょうか。私が知っている完了コールバック メソッドはありません。

説明

内に 2 行のラベルを追加する必要がありself.navigationItem.titleViewます。ただし、各行には異なる属性が必要です。最初の行のサイズを知るには、UILabel を titleView にプリロードする必要があります。表示が成功したら、次に進みます。これはすべて ViewDidAppear などの後に行う必要があるため、これらのライフサイクル メソッドを使用できません。したがって、基本的には、未編集のラベルを に設定してself.navigationItem.titleViewsetNeedsDisplay を呼び出した後、titleView/UILabelView にいつ戻って改行が発生するかを知る必要があるため、titleView の完全に利用可能な幅を利用できます。これが理にかなっていることを願っています。

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

ios - setNeedsDisplay を使用した UIView の更新が機能しない

アプリに円形のプログレス バーがあり、ユーザーが費やした予算のパーセンテージが表示されます。進行状況バーは、ユーザーが円形の進行状況バーのあるビューに切り替えるたびに更新する必要があります。また、ユーザーがアプリを開くたびに更新する必要があります。

現時点では、私が理解できない何らかの理由で、アプリが開かれたとき (マルチタスクで閉じられたとき) にのみ更新され、ユーザーがそのビューに切り替えた場合 (そうあるべきです) は更新されません。私は多くの調査を行いましたが、解決策を見つけることができませんでした。

円を作成するコードは次のとおりです。

そして、これが私がプログレスサークルを更新するために(試して)使用しているコードです。このコードは viewDidAppear() にあります:

私はこの問題を約1週間抱えているので、誰かが解決策を持っていることを本当に願っています. ありがとう。

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

ios - サブビューを追加した後にsetNeedsDisplayが機能しない

viewController.view に約 500 個のビューを追加しました。このアクションは、ターゲット上で約 5 秒かかりました。サブビューを追加するたびに画面を更新して、ユーザーが画面に 1 つずつ表示されるようにします。

私は自分のviewControllerでこれを試しました:

私はそれを実行し、5 秒間何も起こらなかった後、すべてのビューが一度に表示されました。[self.view setNeedsDisplay] がメイン スレッド コンテキストから呼び出されるようにしました。

これらのサブビューを 1 つずつ表示する方法はありますか?

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

ios - drawRect で int を UIView に渡すことはできません

drawRect を使用して円弧を作成する UIView に int を渡すにはどうすればよいですか?

円弧を描画しようとしていますが、毎秒、UIView で setNeedsDisplay を呼び出し、int を 1 (秒) 進めます。これは呼び出しているようには見えず、呼び出しても (null) のままですNSLog(@"draw, %d",self.secs);

基本的に、私のコードログは毎秒「draw 1」に続いて「draw 0」を読み取ります。

draw.h

draw.m

main VC.m - NSTimer はこれを呼び出しますが、 tick.secs は毎回 0 のようです

編集1:

Stonz2 は非常に正しいです。インスタンスを使用する必要がありますdraw。これで問題の半分が解決しました。現在、メインの VC.m では毎秒tick.secs増加していますが、draw.m では、drawRect は依然として毎秒secs0 であると考えています

EDIT 2: Sha は、描画ではなく、UIView を使用して IBOutlet を観察して修正しました

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

ios - dispatch_async で画像データを取得した後に UITableViewCell を更新する

画像を含むエントリで TableView を表示するアプリを書いています。cellForRowAtIndexPathメソッド内で次のコード行を実行して、画像を取得しようとしています。

画像を設定した後、次を含むセレクターを実行します。

画像は表示されませんが、セルをクリックするか、リスト全体をスクロールすると、画像が表示されます。ビューが更新されないのはなぜですか? 私は何かを逃しましたか?