1. 엑스 코드 버전 7.3 (7D175)
2.swift 버전 2.2
3.Mac OS 버전 OS X EI 탄 10.11.4
내가 맥 OS와 위한 데스크톱 응용 프로그램을 만들고 싶어 창 수준을 설정했지만 작동하지 않습니다.창을 항상 신속하게 유지하는 방법?
답변
당신은! 창을 확인 필요 = 전무 모든 사용자 지정 코드
class ViewController: NSViewController {
var addedObserver = false
override func viewDidLoad() {
super.viewDidLoad()
if let window = self.view.window {
// custom window here
window.level = Int(CGWindowLevelForKey(.FloatingWindowLevelKey))
} else {
addedObserver = true
self.addObserver(self, forKeyPath: "view.window", options: [.New, .Initial], context: nil)
}
}
override func observeValueForKeyPath(keyPath: String?, ofObject object: AnyObject?, change: [String : AnyObject]?, context: UnsafeMutablePointer<Void>) {
if let window = self.view.window {
// custom window here
window.level = Int(CGWindowLevelForKey(.FloatingWindowLevelKey))
}
}
deinit {
if addedObserver {
self.removeObserver(self, forKeyPath: "view.window")
}
}
}
감사합니다. 내 프로젝트에 코드를 추가했지만 상단에 창을 유지할 수 없습니다. –
@SteveJiang 코드가 // 여기에있는 사용자 정의 창에서 코드를 호출 했습니까? 나는 새로운 프로젝트를 만들고이 코드를 시도했다. 그것은 작동하고 창문을 글꼴 상단으로 가져 오지만, NSWindow 수준이 무엇인지 잘 모르겠습니다. – larva
NSApplication.sharedApplication(). windows.first? .level =' –
전에 아직 그것을 테스트, 그러나 이것은 스위프트 4 유충의 대답이며 작동하는 것 같군.
var observingFloat = false
override func viewDidLoad() {
super.viewDidLoad()
self.view.wantsLayer = true
if self.view.window != nil {
NSApplication.shared.windows.first?.level = NSWindow.Level(rawValue: 1)
} else {
observingFloat = true
self.addObserver(self, forKeyPath: "view.window", options: [.new, .initial], context: nil)
}
}
override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) {
if self.view.window != nil {
NSApplication.shared.windows.first?.level = NSWindow.Level(rawValue: 1)
}
}
- 1. 창을 항상 위에 유지하는 방법
- 2. 출력 창을 항상 처리 상태로 유지하는 방법
- 3. Android 도우미 도구 창을 도킹되지 않은 모드로 항상 유지하는 방법
- 4. API 호출 중에 창을 항상 응답하도록 유지하는 방법
- 5. 응용 프로그램의 상단에 하위 창을 유지하는 방법
- 6. 항상 브라우저에 포커스를 유지하는 방법
- 7. WPF의 전경에 MessageBox 창을 유지하는 방법
- 8. div를 최대 너비와 항상 위에 유지하는 방법
- 9. vim에서 명령 출력 창을 유지하는 방법
- 10. 응용 프로그램 내에서만 창을 유지하는 방법?
- 11. 팝업 창을 닫을 때까지 포커스를 유지하는 방법
- 12. 창을 항상 아래쪽에 유지하십시오
- 13. 항상 최신 활동을 계속 유지하는 방법
- 14. iOS 현재 위치 센터를 항상 유지하는 방법
- 15. 세로 스크롤 막대를 항상 몸에 유지하는 방법?
- 16. 대화 상자를 항상 화면에 유지하는 방법
- 17. 화면에서 앱을 항상 활성화 상태로 유지하는 방법
- 18. 화면을 항상 on 상태로 유지하는 방법
- 19. 항상 iOS 앱을 세로 모드로 유지하는 방법
- 20. 활동 창을 항상 위에 두는 방법
- 21. X509Certificate2UI 창을 항상 위에 표시하는 방법
- 22. 영웅 섹션을 항상 브라우저 창을 채우는 방법?
- 23. 프로그래밍 방식으로 정보 창을 숨기는 방법을 신속하게
- 24. Xaml로 작업하는 동안 대용량 코드 창을 유지하는 방법
- 25. 안드로이드 - 항상 검색 창을 활성화하십시오.
- 26. 활동이 최소화 된 경우에도 안드로이드 팝업 창을 유지하는 방법
- 27. 위젯이 확장하려고해도 GTK 창을 특정 너비로 유지하는 방법?
- 28. wxpython : 팝업 창을 현재 응용 프로그램 위에 유지하는 방법
- 29. 새 창을 여는 동안 셀레늄에서 세션을 유지하는 방법
설정 레벨 이전에 창 (! = nil)이 존재합니까? – larva
윈도우 속성은 아마도 nil 일 것입니다. 구문과 관련이 없습니다. –
http://stackoverflow.com/a/35714647/2303865 –