WebView에서 실시간 미리보기 (objective-C, Mac OS X)로 HTML 편집기를 구축하고 있습니다. 지금까지 그렇게 좋았고 필요한 거의 모든 기능이 있습니다. 두보기 (NSTextView 및 WebView)가 동기화되어 스크롤되고 미리보기가 완벽하게 렌더링됩니다. 내 문제는 WebView의 스페이스 바 키에 대한 기본 반응입니다. 아래로 스크롤하십시오. WebKit 소스에서 많은 시간을 들여 성공하지 못하게하려고 노력했습니다. 나는 WebView를 서브 클래스 화하고 keyDown을 캐치하려고 시도하고 있었고, WebFrameView를위한 keyDown을 swizzle하고, firstRsponder 상태를 거절했습니다. 많은 행운이 없었습니다. 여기서 내가 무엇을 놓치고 있니? 이 동작을 제거하는 방법에 대한 아이디어는 인정 될 것입니다.스페이스 바를 누르면 WebFrameView pageDown 스크롤을 비활성화하는 방법은 무엇입니까?
0
A
답변
2
여기에 동일합니다. 실험을 위해 NSEvent.addLocalMonitorForEventsMatchingMask
을 사용하여 모든 주요 이벤트를 가로 챈 다음 모든 공백을 밑줄로 매핑했습니다. NSTextView에서 공백 대신 밑줄이 표시되었지만 WebView는 아래로 계속 스크롤했습니다. 나는 WebView가 다른 레벨에서 키보드 이벤트를 가로 채고 있다고 생각합니다.
그러나 스크롤 다운 문제는 응용 프로그램이 WebView 콘텐츠를 처리하는 동안 (더 많거나 적은 시간에 사용자 입력)에만 발생하는 것으로 나타났습니다.
는 그러므로 나는 지연을 삽입 -private var _refreshAskCount = 0
func refreshWebViewIfIdontAskYouAgainInTheNext(#seconds: Double) {
let count = ++self._refreshAskCount
let delay = dispatch_time(DISPATCH_TIME_NOW, Int64(seconds * Double(NSEC_PER_SEC)))
dispatch_after(delay, dispatch_get_main_queue()) {
if count == self._refreshAskCount {
self.renderWebView()
}
}
}
이 문제를 해결하는 것, 또는 적어도 크게 그것을 줄이기 위해 : 예 : - 만 사용자 비 활동의 일정 간격 후 웹보기의 콘텐츠를 업데이트.
관련 문제
- 1. (Wordpress) 스페이스 바를 누르면 아래로 스크롤을 해제하는 방법?
- 2. Ctrl + 스페이스 바를 누르면 Eclipse가 충돌합니다.
- 3. 스페이스 바를 누르면 페이지가 아래로 스크롤됩니까?
- 4. 스페이스 바를 누르면 타이머를 활성화하는 방법
- 5. ListView 스크롤을 비활성화하는 방법은 무엇입니까?
- 6. TextBox + MVC3에서 스페이스 바를 비활성화하는 자바 스크립트
- 7. 문서 본문 스크롤을 비활성화하는 방법은 무엇입니까?
- 8. md-menu에서 스크롤을 비활성화하는 방법은 무엇입니까?
- 9. wp8에서 웹 브라우저에서 스크롤을 비활성화하는 방법은 무엇입니까?
- 10. 스페이스 바를 입력하지 못했습니다.
- 11. Python Tkinter : 1 초간 스페이스 바를 길게 누르면 함수가 호출됩니다.
- 12. 텍스트 뷰를 편집 할 때 스크롤을 비활성화하는 방법은 무엇입니까?
- 13. 스페이스 바를 누르면 jQuery change()가 트리거되지 않습니까? 나는 스페이스 바를 명중 할 때 한자 사이의 간격을 강조하기 위해
- 14. 스페이스 바를 누르십시오. 시간을 기록하십시오.
- 15. 스페이스 바를 사용하지 않음
- 16. 스페이스 바를 어떻게 탐지합니까?
- 17. FLEX - 스페이스 바를 사용하지 않음
- 18. XtraScrollablecontrol을 사용하여 가로 스크롤을 비활성화하는 방법
- 19. 스페이스 바를 스크롤하는 Jquery 대화 상자
- 20. 스페이스 바를 사용하여 게임 애니메이션을 시작하는 방법은 무엇입니까?
- 21. 매 5 초마다 자동으로 스페이스 바를 누릅니다.
- 22. As3에서 ScrollPane의 마우스 휠 스크롤을 비활성화하는 방법은 무엇입니까?
- 23. OS X Lion 및 Safari에서 자연 스크롤을 비활성화하는 방법은 무엇입니까?
- 24. iPhone 응용 프로그램 내에서 UIwebView의 가로 스크롤을 비활성화하는 방법은 무엇입니까?
- 25. ExtJS 그리드에서 선택된 셀로 자동 스크롤을 비활성화하는 방법은 무엇입니까?
- 26. 대화 상자를 열 때 페이지 스크롤을 비활성화하는 방법은 무엇입니까?
- 27. 오버플로가있는 요소에서 마우스 드래그 스크롤을 비활성화하는 방법은 무엇입니까? scroll
- 28. viewSwitcher가 활성화되었을 때 ScrollView에서 스크롤을 비활성화하는 방법은 무엇입니까?
- 29. 스페이스 바를 넣을 사용자 제한
- 30. 스페이스 바를 입력하면 ajax가 중지됩니다.
NSScrollView를 서브 클래 싱하고 거기에 공간을 캡처 해 보셨습니까? – Volker
WebView에 포커스가있을 때 스페이스 키를 잡는 데 아무런 문제가 없습니다. 그러나 포커스가 NSTextView에 있고 WebView가 이벤트를 가져 오는 중 ... ...? 서브 클래 싱 NSScrollView 도움이 될 수 없습니다. NSTextView가 키 이벤트를 리스폰 더 체인에 전달하는 것을 멈추는 방법 (그러나 여전히 스페이스 키가 작동하고 있습니까?) –