問題タブ [nsnotificationcenter]
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.
uiview - ビューをアニメーション化しながら UIButton をアニメーション化する
私はアニメーションの問題に直面しています。
だから今、私のアプリには、閉じるボタンのあるサブビューがあります。閉じるボタンを押すと、前のビューを示す下向きのアニメーションが発生します。それは正常に機能しています。このように NSNotificationCenter に通知を渡すことで、カール ダウン クロージング アニメーションを実行します。[[NSNotificationCenter defaultCenter] postNotificationName:notificationName object:self];
ここで、閉じるボタン自体にアニメーションを適用して、閉じるボタンを押すとアニメーションが実行され、カール ダウン アニメーションが発生するようにしたいと考えました。だから私がそれを行う方法は、次のコードによるものです
以前は closeButton.frame の値が (580,15,100,40) だったので、アニメーションは画像が右から左に 580 から 500 に移動するようになります。
コードを実行すると、閉じるボタンを押すと、閉じるボタンのアニメーションは発生しませんが、カールダウンのアニメーションが発生します。したがって、通知を投稿するコードをコメントアウトしたときのテストでは、閉じるボタンのアニメーションは完全に機能しますが、下向きのアニメーションは発生せず、前のビューも表示されません (ビューに通知を送信しないため)近い)。
ここで何が問題なのか、なぜ 2 つのアニメーションが同時に発生しないのかを知りたいです。
uiviewcontroller - NSNotificationCenter:通知を明示的に投稿しない他のクラスをリッスンすることは可能ですか?
メソッド内の実際のコードを変更せずに、トリガーされるメソッド(、、、など)をリッスンUIViewController
しよ-viewDidLoad
うとしています。これは不可能ですか?別のクラスのオブザーバーに、呼び出されているメソッドをリッスンさせようとしていますが、ViewControllerに追加したくありません。やらなくてはいけませんか?-viewDidAppear
-viewDidUnload
-viewDidDisappear
postNotifications:
iphone - アプリが再び表示されたとき (バックグラウンド スタートまたは起動から)、UITableView データ更新関数が 1 回だけ呼び出されるようにするにはどうすればよいですか?
アプリが (バックグラウンドでの開始または起動から) 再び表示されたときに、テーブル データ関数が 1 回だけ呼び出されるようにするにはどうすればよいですか?
つまり、ユーザーがアプリケーション アイコンをクリックしたときにテーブル データを 1 回だけ更新する必要があります。したがって、要件は次のようになります: a) ユーザーがアプリケーション アイコンをクリックした後に 1 回だけ呼び出されるコントローラーの更新メソッド b) ユーザーが (i) アプリを初めて起動するか、(ii) バックグラウンドから戻るかに関係なく有効であること、(iii) ユーザーがアプリをフォアグラウンドに戻すことを要求するその他の手段。
私が現在実装で抱えている問題は、アプリがバックグラウンドから戻ってきた場合にデータ更新が 2 回呼び出されることです。基本的にはこれを改善したいと考えています。私が現在やっている方法は、欠陥があります:
cocoa - プラグイン (NSBundle) 内で実行されている NSMetadataQuery からすべての通知を受け取る方法
私は定期的にプラグイン (NSBundles をロード) を使用して、いくつかの機能をカプセル化しています。プラグインの 1 つで NSMetadataQuery を使用したいのですが、解決できないスレッドの問題に遭遇しました。
プラグインのメイン クラス内で、次のようにクエリを設定します。
そして、通知は次の方法でキャッチされます。
このコードはアプリで実行すると問題なく動作しますが、プラグインから実行すると、NSMetadataQueryDidStartGatheringNotification のみが受信され、それ以外は何も受信されません。
同じ問題に取り組んでいる人々の投稿を 1 つまたは 2 つ見つけました。そのうちの 1 つ ( James Bucanek in Oh notifications, where are you? ) は、CFRunLoopRun(); を呼び出して彼の問題を解決しました。startQuery および CFRunLoopStop(CFRunLoopGetCurrent ()); の直後。クエリが実行されたとき。1 つの問題は、このように開始された実行ループが同期的であるのに対し、NSMetadataQuery は明らかに非同期であることです。もう 1 つの問題は、プラグインで NSMetadataQueryGatheringProgressNotification を通過できなかったことです。次に、NSMetadataQuery に独自のスレッドを与えようとしましたが、NSMetadataQueryDidStartGatheringNotification しか受信されませんでした。問題が解決するかどうかはわかりませんが、本当にいくつかの意見が欲しいです。
alert - 新しい通知センター
プッシュ通知を有効にせずに通知センターに通知を表示する方法はありますか? たとえば、メールの送信に失敗した場合、文字列を作成して上部のバナーに表示する方法はありますか? 申し訳ありませんが、私はiPhone開発に不慣れです
ios - UIKeyboardWillShowNotificationがスタック内の次のクラスから誤って呼び出されました
キーボードがいつ表示されるかを以下のコードで検出します。ただし、pushViewControllerを使用して別の画面にプッシュし、その画面でキーボードを開くと、keyboardWillShowが呼び出されます。これは本当に正しいですか?
objective-c - -[NSNotificationCenter postNotificationName:object:]オブジェクトにnilを渡すことはできますか?
-[NSNotificationCenter postNotificationName:object:]
オブザーバーは送信者が誰であるかを気にしないので、オブジェクト引数にnilを渡すことはできますか、またはself
オブザーバーが通知の送信者を確認していなくてもオブジェクト引数を渡す方がよいですか?
iphone - UIApplication 通知のオブザーバーをいつ追加/削除する必要がありますか?
UIApplication 通知のオブザーバーをいつ追加および削除する必要がありますか?
と
これは悪いですか?ビューが画面に表示されているときの通知にのみ関心があります。UIApplicationWillEnterForegroundNotification
また、viewWillDisappear:
メソッド内のを削除しても問題はありませんか? 順番とか考えてる…?
objective-c - NSNotification オブジェクトのすべてのリスナーを知る必要がある
NSNotificationCenter オブジェクトを使用しています。すべてのリスナーと、それらがリッスンするイベントを知る必要があります。このリストを取得するためにできることはありますか?
iphone - IOS4でUIApplicationWillTerminateNotificationを処理する方法は?
iOS4では、次の通知を登録しています。
以前のiOSバージョンのように、これがすべての状況で呼び出されるわけではないことは知っていますが、これを登録するだけでEXC_BAD_ACCESSS
、アプリの終了時にが表示されます。それでも、私のアプリはiOS3.0以降をサポートしているため、削除できません。どうすればこれを処理できますか?
更新:クラッシュログは次のとおりです。