問題タブ [responder-chain]

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

ios - Is it good App design to use first responder instead of chaining methods down the controller hierarchy?

This question is for an OSX app, but the same principle can be for iOS.

I have a NSWindowController on storyboard with the following setup.

A. MainWindowController has as subviews:

1) A toolbar with a button

2) A SubVcA viewController with its own content

B. SubVcA has as its content, SubVcB viewController's view

C. SubVcB has a function ButtonPressed

enter image description here

The goal is to trigger the button pressed function in the SubVcB viewController by clicking on the toolbar button.

The way i've been doing it is to have a chain of method implementations from the mainWindowController to the target viewController like so:

This works, but it gets messy when the controller stack gets about 4 levels deep. It also gets even more messy, when the SubVC(B) has to send data back up to the MainWindowController, because in-order to have encapsulation (as in not letting the SubVC(B) have too much information about its calling viewControllers), I have to implement delegate methods back up the chain. It gets even messier when you have more than one toolbar button.

Now...I have just started messing around with the firstResponder item on Storyboard

enter image description here

And i realize that it pops up a HUGE list of all methods that are implemented throughout your app with -(IBAction).

So my question now is: In order to reduce method clutter up and down the hierarchy of views, is it good app design to simply hook up the MainWindowController's toolbar button action, directly to the buttonPressed method in the SubVc(B) viewController using the firstResponder object on the storyboard?

Also, are there any other design patters out there that will reduce clutter?

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

ios - 子スクロール ビューが最後に達したときに親スクロール ビューをスクロールする

親スクロール ビュー (直接の子ではない) 内に子スクロール ビューが含まれています。私が望むのは、子スクロール ビューがコンテンツの最後に到達するとすぐに、親スクロール ビューが同じ方向にスクロールを開始することです。

この種の機能はすぐに使用できますが、実際には機能しません。現在、子が最後に達した後に親のスクロール ビューのスクロールを開始するには、指を離す必要があります。

これについて何か考えはありますか?

編集:

私が探しているものの例は、Snapchat で表ビューのセルを右にスワイプしてチャット コントローラーを表示することで確認できます。

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

cocoa - カスタム NSViewController に登録するマウス イベントを取得できません

簡潔にするために簡略化した私のコードは次のとおりです。

MyMainMenu.xibには、上記の AppDelegate で参照できる単一のウィンドウがあります。

キーボードのボタンを押すと、コンソールに「バー」が表示されます。マウスをクリックしても何も表示されません。マウスをクリックすると、それ以上のキー イベントは登録されません。

私は何が欠けていますか?マウス イベントがレスポンダー チェーンを奪うのはなぜですか? また、どこに行くのでしょうか?

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

swift - Swift でのレスポンダー アクションの実装

Swift で NSMenuItem のアクションを実装するのが困難です。通常、Objective-C では次のようなアクションを実装します。

次のようにファーストレスポンダーでアクションを設定した後、これは完全に正常に機能します。

ユーザー定義のファーストレスポンダー

ただし、Swift でビュー コントローラーを書き直した後、次の新しいメソッドが呼び出されないようです。

Obj-C と Swift の両方のバージョンが同じビュー コントローラー サブクラス用であるにもかかわらず、機能していないようです。