2014-10-24 3 views
19

내 View의 배경색을 변경하려고합니다. View Controller 클래스는 NSViewController 유형입니다.Swift + NSViewController 배경색 (Mac App)

어떻게 수행 할 수 있습니까? iOS UIKit (UIViewController)에는 self.view.backgroundColor이 있지만 NSViewController에는 없습니다.

둘째 문제는 어떻게 응용 프로그램 제목 표시 줄의 색상을 변경할 수 있습니까? 나는 배경색이 그것에 영향을 미치지 않는다고 생각한다.

Mac 응용 프로그램, 언어 Swift. XCode 6.1.

답변

43

기본보기의 배경색을 변경할 수있었습니다. NSViewController에는 실제로 backgroundColor 속성이 없으므로 NSViewController에 속한 NSView의 레이어 속성을 사용했습니다. 여기에 코드가 있습니다.

class ViewController: NSViewController { 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     self.view.wantsLayer = true 

    } 

    override var representedObject: AnyObject? { 
     didSet { 
     // Update the view, if already loaded. 
     } 
    } 

    override func awakeFromNib() { 
     if self.view.layer != nil { 
      let color : CGColorRef = CGColorCreateGenericRGB(1.0, 0, 0, 1.0) 
      self.view.layer?.backgroundColor = color 
     } 

    } 
} 

빨간색 배경으로보기 컨트롤러를 초기화합니다.

제목 표시 줄 색상의 경우 NSWindowController를 작성하고 스토리 보드에서 기본 창 컨트롤러로 지정합니다. 여기에 코드가 있습니다.

class MainWindow: NSWindowController { 

    override func windowDidLoad() { 
     super.windowDidLoad() 

     super.window?.backgroundColor = NSColor(calibratedRed: 0.0, green: 1.0, blue: 0.0, alpha: 1.0) 
    } 

} 

이 정보가 도움이되기를 바랍니다.

+8

Omg 내 눈 O_O – nmdias