問題タブ [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.
android - Androidでディスプレイをオンまたはオフにする方法は?
近接センサーを使用して入力を無効にしたい(または表示をオフにしたい)。
近接センサーの変更により、画面入力を無効および有効 (オフおよびオン) にする必要があります。
ここで多くの質問を検索しましたが、適切な答えが見つかりませんでした。コードでは、表示がオフになることを試しました。しかし、近接が変化すると、ディスプレイはオンになりませんでした。
これは onSensorChanged メソッドです。
cocoa - NSTextView setNeedsDisplay は Mavericks で動作しませんか?
私の MacOS Cocoa アプリケーションは、静的テキストのウィンドウを表示します。つまり、ユーザーが変更してはならず、ファーストレスポンダなどであってはなりません。テキストに発生する唯一のことは、特定の時点でその各単語の色が (「idleColor」から「highlightColor」に、そして再び元に戻る) 変わることです。これはカラオケのディスプレイに似ています。時間指定されたイベントのリストに基づいて、プログラムの制御下で個々の単語の色が変わり、元に戻ります。
これらはすべて、MacOS 10.7 および 10.8 で美しく機能します。ただし、10.9 では、ウィンドウをクリックしてカーソルを継続的に移動しない限り、テキストの色は変更されません。これを行うと、通常の単語は意図したとおりに動作します。基本的に、UI の応答を必要とする何かを手動で実行して強制的に更新しない限り、OS がプログラム制御下でウィンドウを更新することを拒否しているように感じます。
色の変更を実行するコードは次のとおりです。
(sTextView は NSTextView のサブクラスです。)
ここで、最後の行をコメントアウトすると、10.7 と 10.8 で同じ、正しくない動作が発生します。つまり、10.9 では、setNeedsDisplay メソッドが機能していないか、同じように機能していません。
これを回避するためのアイデアはありますか、または問題を解決するための他の光がありますか? それとも、私は何かひどく間違ったことをしていますか? アプリケーションにとって、textColor への変更がレイテンシーなしで行われることは非常に重要です。
質問の編集 - 回答するには:
ここで他の場所で答えを見つけました!メインスレッドでsetNeedsDisplayを呼び出す必要がありました-それはセカンダリスレッドにありました。奇妙なことに、10.7 および 10.8 では常に正常に動作しているように見えました。10.9未満でしか壊れませんでした。だから私はこれを変更しました:
これに:
…そしてそれはうまくいったようです。これが他の誰かに役立つことを願っています…</p>
ios - iOS: [self.view setNeedsDisplay];
これについての基本を忘れているようです。それとも、疲れすぎているのかもしれません。
ビューコントローラーと、そのサブクラスでUIView
ある MyViewClass という名前のビューがあります。
viewDidLoad
私のviewControllerでは、私は次alloc
のinit
self.myView
ようにしています:
私のviewControllerのある時点で、私は[self.view setNeedsDisplay];
. ここでは問題ありません。
MyViewClass.h でプロパティを公開します。
プロパティはmyViewi
で使用されます。drawRect
したがって、私のviewControllerから次のように設定します。
だから私の質問は:
[self.view setNeedsDisplay];
呼び出す必要なくビュー コントローラーを呼び出すことができ、myView で呼び出されるのに、既にビュー コントローラーに割り当てられているようにビュー コントローラーで呼び出すことができない[self.myView setNeedsDisplay];
のはなぜですか?drawRect
self.view.i
self.myView
self.view
viewDidLoad
objective-c - 2 つの UIView を線で接続する方法は?
という UIView サブクラスがありMENode
ます。それぞれに、そのサブノード (およびs)MENode
を追跡する NSMutableDictionary があります。MENode
私が達成しようとしているのは、親ノードから子ノードに線を引くことです。drawRect:
これはinの私の実装ですMENode
:
以下のメソッドは両方とも、View Controller によって呼び出されます。私は両方で呼び出します[self setNeedsDisplay];
:
これを実行すると、行は表示されず、ノードのみが表示されます。よろしくお願いします。
cocoa - isOpaque が親 drawRect への受け渡しを停止しない
Cocoa とそのビューの再描画階層に問題がありました。
現在、メーター スタイル コントロールで (オーディオ) レベルの表示をテストしており、Apple の MatrixMixerTest サンプル プロジェクトの MeteringView クラスを使用しています。このクラスはメーターを描画し、変更された部分のみを描画する非常に効率的なクラスのようです。
私のプロジェクトは 2 つの分割ビューに分割されています。一部は NSCollectionViews (Scrollview、Clipview) で、他は静的ビューのみです。これらの「静的」ビューにメーターを追加すると、これらのビューが setNeedsDisplay:YES を呼び出したときに正常に動作します。メーターが CollectionView アイテムのビューに追加されるとレンダリングされますが、描画された「古いレベル」の部分とそのコーナー/背景が失われます。CollectionView アイテムも再描画されるように呼び出され(背景画像があります)、すべてがなくなったため、これが発生すると思います。現在変更中の部分を描画しています(描画は機能します)。
アイテム自体が再描画されるのを防ぐ方法はありますか? または、それらのビューにも背景画像がありますが、メーターを超えて描画されないため、これらの静的ビューで発生しない理由がわかりません。
CollectionView には、「通常の」ビューよりもいくつかのトリックや違いがありますか?
編集: isOpaque (MeteringView isOpaque = YES) について読んだ後、yes に設定されている場合、親ビュー drawRect を呼び出すべきではないことを意味します。これは静的ビューでは機能します。これらの MeteringView は親の drawRect を呼び出しませんが、CollectionView の親は呼び出します。どうしてか分かりません。
編集 2:このトピックに別のタイトルを付けました。これは、MeteringView の isOpaque=YES が CollectionView の親 drawRect の呼び出しを停止していないためです。通常のビューでは機能しています。知っておくべきことがいくつかありますか?それが問題なので、CollectionView アイテムの再描画を停止する必要があります。
よろしくお願いします
ベンジャミン
ios - contentInset または automaticallyAdjustsScrollViewInsets を設定して実際に適用するにはどうすればよいですか?
をUIViewController
含む がありUIScrollView
ます。最初automaticallyAdjustsScrollViewInsets
は設定されていません(したがって、デフォルトで に設定する必要がありますYES
)。
一部のユーザー インタラクションでは、 に設定automaticallyAdjustsScrollViewInsets
したため、スクロール ビューでNO
独自の設定を行うことができます。contentInset
その後、何も起こりません。後で何に電話すればいいですか?
スクロール ビューを呼び出しsetNeedsDisplay
ても役に立ちません。
ios - あるクラスからメッセージを送信して、別のクラスの「自己」をトリガーできますか?
私は、私が従ってきた本のコースからプログラムを適応させており、ビューコントローラー、ビュー、および他の2つによって共有される変数を格納するシングルトンの3つのクラスがあります。
ビューコントローラー内にいくつかのコードを記述しようとしています。これにより、ビューがトリガーされ、[self setNeedsDisplay] メッセージが送信されます。ただし、これをインスタンス メソッドとして設定すると、コンパイラは「クラス メソッドなし」例外をスローします。メソッドをクラス メソッドに変更すると、'self' プロパティが機能しなくなります。
正直なところ、私はまだ OOP の一般的な違いの多くについて頭を悩ませているので、状況を完全に把握していない可能性があります。しかし、あるクラスから別のクラスにメッセージを送信して、2番目のクラスが「自己」アクションを開始するようにすることは可能ですか?
メッセージを送信するView Controllerのコードは次のとおりです(現在のコーディング試行で):
メッセージを受け取るビュー クラスのコードは次のとおりです。
それがどれほど関連性があるかはわかりませんが、ここに私のシングルトンクラスがあります:
誰かがこれについて考えや意見を持っているなら、私はそれらを聞きたいです!
ios - setNeedsDisplay がバックグラウンド スレッドで機能しない
新しいスレッドでメソッドを呼び出してsetNeedsDisplay
いますが、ビューに変更が見られません。setNeedsDisplay
新しいスレッドを呼び出した後、すべての変更を確認するにはどうすればよいですか?