2012-04-05 4 views
0

objective-c(Xcode)プログラムの新機能です。objective-c(xcode)では、ビューのフォーカスを知る方法を変更しました

ビューのフォーカスがフォーカスを取得しフォーカスを失ったときにイベントを取得する方法を知りたいと思います。

ビューは削除されません。ウィンドウに追加された別のサブビューがあります。

 [self.window addSubview:anotherView.view] 

ので、:(

はどうもありがとうございました。

+0

これはiPhoneかOS Xかに依存し、表示の種類にも依存します。プレーンビューはフォーカスを受けませんが、テキストフィールドは表示されます。これについての詳細は、レスポンダーチェーンを参照してください。 – sosborn

+0

* focus *という用語は通常、現在のファーストレスポンダー、すなわち現在のレスポンダーチェーンの最初のオブジェクトに関係します。それはあなたのことを聞いているように聞こえるわけではありません。達成しようとしていることをよりよく説明するために質問を編集できますか? – Caleb

+0

私がしたいのは、ビュー "A"を表示し、そのビューでタイマーを実行して何かをやり続けることです。次に、別のビュー「B」がビュー「A」をカバーする。ビュー "A"のタイマーを停止します。ビュー "B"が消えたら、ビュー "A"タイマーのタイマーを再度アクティブにします。 – Johnny

答えて

0

をあなたは本当に1を必要としない... viewWillDisappear、viewDidDisappear、viewWillAppear、viewDidAppear元のロードビューのためには存在しません。あなたは追加およびビューの除去を制御しているので、しかし、あなたはあなたのビューサブクラス(UIViewのか、NSViewの)で- (void)didAddSubview:(UIView *)subviewを上書きすることができ

docsによると:。。

このメソッドのデフォルト実装では何も行いません。サブクラスは、サブビューが追加されたときに追加のアクションを実行するためにそれをオーバーライドすることができます。 このメソッドは、関連ビューメソッド のいずれかを使用してサブビューを追加することに応じて呼び出されます。

関連する問題