キーボード専用のユーザーがScrollView内の別のUI要素間を移動しようとすると、自動的にscrollViewをスクロールする方法を教えてもらえますか? 'Tab'キー? 「TAB」キーを押すと、フォーカスはスクロールビューに表示されている別のUI要素に移動しますが、UI要素が表示コンテンツビューにない場合はスクロールしません。どのようにこれを達成することができます。ヘルプをいただければ幸いです。ありがとう。アクセシビリティ:ScrollViewをタップしても表示されないビューに自動スクロールする
6
A
答えて
3
解決策A:NSWindow
のサブクラスを作成し、makeFirstResponder:
を上書きします。 makeFirstResponder
は、最初のレスポンダが変更されたときに呼び出されます。
- (BOOL)makeFirstResponder:(NSResponder *)responder {
BOOL madeFirstResponder = [super makeFirstResponder:responder];
if (madeFirstResponder) {
id view = [self firstResponder];
// check if the new first responder is a field editor
if (view && [view isKindOfClass:[NSTextView class]] && [view isFieldEditor])
view = [view delegate]; // the control, usually a NSTextField
if (view && [view isKindOfClass:[NSControl class]] && [view enclosingScrollView]) {
NSRect rect = [view bounds];
rect = NSInsetRect(rect, -10.0, -10.0); // add a margin
[view scrollRectToVisible:rect];
}
}
return madeFirstResponder;
}
溶液B:NSTextField
や他のコントロールのサブクラスを作成し、becomeFirstResponder
をオーバーライドします。
- (BOOL)becomeFirstResponder {
BOOL becameFirstResponder = [super becomeFirstResponder];
if (becameFirstResponder) {
if ([self enclosingScrollView]) {
NSRect rect = [self bounds];
rect = NSInsetRect(rect, -10.0, -10.0); // add a margin
[self scrollRectToVisible:rect];
}
}
return becameFirstResponder;
}
+0
ありがとう@ウィルク。私はそれに似た何かを試してみましたが、うまくいきませんでした。NSWindowでやって、魅力的に動作します。 –
関連する問題
- 1. なぜ表示されるテキストがあっても、ScrollViewがスクロールしない
- 2. 自動スクロールScrollView
- 3. 表示されないビューをレンダリングしないScrollView
- 4. UIButtonをタップしてもポップオーバーが表示されない
- 5. スクロール・ビューでボタンをタップし、ボタンをタップすると、下にラベルが表示されます
- 6. Androidで画像が表示されず、ScrollViewがスクロールしない
- 7. アンドロイドscrollviewスクロール新しいビューがscrollviewで
- 8. キーボードが表示されているときにScrollViewが自動的に上に移動しない
- 9. AndroidのScrollViewでレイアウトデザインのスクロールが表示されない
- 10. ScrollViewがいっぱいになると自動的にスクロール
- 11. iframeの自動スクロールなし高さが正しく表示されない
- 12. ScrollView内のLinearLayoutが下に自動スクロールされます
- 13. イメージをタップして次のビューに移動表示
- 14. Scrollviewにスクロールバーが表示されない
- 15. ネストさscrollview + recyclerview、奇妙な自動スクロールの挙動ビューページャで
- 16. キーボードが反応ネイティブで表示されているときに自動的に表示をスクロールします
- 17. Android ScrollViewは自動的にビューの一番下までスクロールします
- 18. メニューオプションの1つをタップしてもメニューオプションが表示されない
- 19. ビューにスクロールされているが表示されていない要素にクラスを追加する
- 20. ScrollView内のListViewをタッチしてスクロールすると、ScrollViewがもうレンダリングされなくなる
- 21. Scrollview表示されない項目
- 22. 自動ページ更新時にRadPanelBarスクロールが表示される
- 23. iOSのスクロール表示を無効にする自動スクロールする
- 24. 別のScrollViewがスクロールされたときに、ScrollViewを並列にスクロールしたい
- 25. ScrollView notキーボードが表示されたときにスクロール
- 26. Scrollviewが下にスクロールしていない
- 27. Scrollviewは表示されますが、スクロールできませんPage
- 28. 地域に表示されないビューが表示される
- 29. UISearchBarタップにUIKeyboardが表示されないようにする
- 30. 変更がビューに自動的に表示されない(AngularJSアップデート)
コードをスクロールしますか?何か試しましたか? – Willeke
うん。私は、ビューがフォーカスを取得し、scrollViewの可視領域にないときはいつでも、スクロールが自動的に行われるようにします。私は失敗した 'autoscroll:'を試しました。私は何をしなければならないのか分かりません。あなたが私の要求を持っていることを願っています。コメントしてください。 –
'[view scrollRectToVisible:view.bounds]'を試してください。 – Willeke