배경색은 어떻게 설정 했습니까?
컨테이너보기는 실제로는 viewController에 링크 된 일반보기입니다. 즉, 다른 NSView 또는 UIView와 동일한 방식으로 배경을 설정할 수 있습니다. 이것은 NSViewController 클래스에 추가해야하는 모든 코드입니다 (컨테이너의 viewController가 아니라 window의 viewController).
@IBOutlet weak var ContainerView: NSView!
override func viewDidLoad() {
//other code in your viewDidLoad
ContainerView.wantsLayer = true
}
override func awakeFromNib() {
super.awakeFromNib()
ContainerView.layer?.backgroundColor = NSColor.black.cgColor
}
당신이 이미하지 않은 경우 함께 IBOutlet을 연결해야합니다.
viewDidLoad에서 레이어 배경색을 설정하면 해당 레이어가 아직 존재하지 않을 수 있습니다 (이유를 모르겠습니다). awakeFromNib에서 레이어에 액세스하면 항상 저에게 효과적이지만 viewDidLoad에서 액세스하는 것은 신뢰할 수 없습니다. 당신은 IOS에서 작업하는 경우
는, 이것의 대부분은 적용되지 않습니다, 나는 덜 IOS에서 작동
@IBOutlet weak var ContainerView: UIView!
override func viewDidLoad() {
ContainerView.layer?.backgroundColor = UIColor.black.cgColor
}
이 당신이 필요로하는 모든해야한다, 그래서 그 어떤 문제로 실행하지 않은 있지만, 그것은 시도의 부족에서 일 수 있었다. OSX 설정에서 viewDidLoad의 배경색은 시간의 약 50 %에서 작동하므로 아직까지 겪어 보지 못한 문제가있을 수 있습니다.
아무 것도 작동하지 않으면 레이어를 선택 사항으로 남겨 두지 않고 레이어의 래핑을 시도하십시오 (!를!로 바꿉니다!) 그러면 최소한 프로그램이 중단되고 아마도 레이어가 nil이라고 말할 것입니다. 왜 그 레이어가 무효인지를 알아내는 것.
또한 컨테이너보기에 연결된 viewController가 사용자 정의 클래스 인 경우 IBOutlets에 신경 쓸 필요가 없습니다. 사용자 정의 클래스에서보기 "보기"를 호출하면됩니다.
죄송합니다. 조금 오래되었지만 도움이 되었기를 바랍니다.
코드 또는 스토리 보드를 보여 주셔야합니다. –