저는 Mac 용 Cocoa API를 사용하는 간단한 텍스트 편집기를 만들고 있습니다. 모든 것이 잘 작동합니다. 유일한 문제는 닫기 메뉴 항목이 항상 비활성화되어 있다는 것입니다. 문서 컨트롤러에 일부 대리자 메서드를 구현해야합니까? 이미이 문제가 있었습니까?Cocoa 문서 기반 응용 프로그램에서 문서를 닫는 방법은 무엇입니까?
0
A
답변
0
나는 그것을 마침내 발견했습니다. 문제는 내 문서 기반 응용 프로그램의 모든 창에 경계선이없는 것입니다. 최근 테두리없는 창은 메뉴 항목 (또는 Cmd-W 키)이 firstResponder에 보내는 performClose:
메서드를 통해 닫히지 않습니다.
- (void)performClose:(id)sender {
[documentClass canCloseDocumentWithDelegate:self shouldCloseSelector:@selector(document:shouldClose:contextInfo:) contextInfo:NULL];
}
- (void)document:(NSDocument*)doc shouldClose:(BOOL)shouldClose contextInfo:(void*)contextInfo {
if (shouldClose)
[doc close];
}
- (BOOL)validateMenuItem:(NSMenuItem *)menuItem {
return ([menuItem action][email protected](performClose:))?YES:[super validateMenuItem:menuItem];
}
- (BOOL)canBecomeMainWindow {
return YES;
}
- (BOOL)canBecomeKeyWindow {
return YES;
}
마지막 두 방법은 윈도우가 포커스를 얻을 수 있는지 확인하고 다른 기능 (textviews의 찾기 명령 등)을 실행 할 수있다 : 그래서 윈도우의 서브 클래스에서 몇 가지 추가 메소드를 구현했다.
0
언제든지 Close 메뉴 항목이 "첫 번째 응답자"개체 (NSWindow가되는)에 -performClose : 메서드를 보내지 않을 수 있습니까? 과거에는 메뉴 항목에 액션 타겟이 없으면 회색으로 표시됩니다.
관련 문제
- 1. 문서 기반 Cocoa 응용 프로그램에서 사용자 지정 페이지 매김 확대
- 2. 기본값 Cocoa 문서 기반 응용 프로그램에서 문서의 위치 저장
- 3. 비 문서 기반 응용 프로그램에서 문서를 더티로 표시합니다.
- 4. 문서 기반 응용 프로그램에서 사파리의 tabView를 만드는 방법은 무엇입니까?
- 5. 코코아 문서 기반 문서를 더러움으로 표시하기
- 6. 문서 기반 응용 프로그램에서 응용 프로그램 시작시 코드를 실행하는 방법
- 7. 코코아 문서 기반 응용 프로그램
- 8. 코코아 문서 기반 응용 프로그램의 윈도우 변경
- 9. 코드 디자인 질문 : 문서 기반 응용 프로그램의 "문서 수준 클래스"
- 10. 여러 응용 프로그램에서 문서 생성
- 11. 파이썬 프로그램에서 여기 문서를 처리하는 방법은 무엇입니까?
- 12. 새 문서를 만들 수없는 문서 기반 응용 프로그램을 만들려면 어떻게해야합니까?
- 13. 코코아 문서 기반 응용 프로그램
- 14. 코코아 문서 기반 응용 프로그램에서 저장이 성공적으로 이루어 졌는지 확인하십시오.
- 15. Cocoa 응용 프로그램에서 AppleScript 실행
- 16. 문서 기반 Cocoa 앱에서 내보내기 기능을 구현하는 데있어 받아 들여지는 방법은 무엇입니까?
- 17. MFC 탭이있는 문서 - 중간 마우스 단추를 사용하여 문서를 닫는 방법?
- 18. 문서 관리 응용 프로그램에서 문서의 중복 및 유사 문서를 확인
- 19. C# 문서를 문서 위키로 내보내는 방법은 무엇입니까?
- 20. Silverlight 4 응용 프로그램에서 Word 문서를 만드는 방법은 무엇입니까?
- 21. Microsoft Surface 응용 프로그램에서 PDF 문서를 표시하는 방법은 무엇입니까?
- 22. Cocoa 응용 프로그램에서 사용자 정의 레코드보기
- 23. 핵심 데이터 : 문서 기반 응용 프로그램에서 "루트 개체"인스턴스화
- 24. 비 문서 기반 응용 프로그램에서 열린 파일 메뉴 항목 활성화
- 25. 단일 문서 인터페이스 문서 기반 코코아 응용 프로그램
- 26. 웹 응용 프로그램에서 Word 문서 내보내기
- 27. Cocoa/Objective-C : XML 문서를 파싱하는 가장 좋은 방법은 무엇입니까?
- 28. 응용 프로그램에서 Word와 유사한 문서 (.docx)를 만드는 방법은 무엇입니까?
- 29. Cocoa 응용 프로그램 개발을 시작하는 방법은 무엇입니까?
- 30. restlet 기반 응용 프로그램에서 통신 시간을 향상시키는 방법은 무엇입니까?