2017-03-06 7 views
0

저는 Storyboards가있는 macOS 프로젝트에서 NSTableView와 다른 컨트롤들을 포함하고있는 커스텀 뷰를 가지고 있습니다.NSTableView의 일부 부분에 나타나는 반투명을 제거하는 방법은 무엇입니까?

있는 CustomView 배경은 viewWillAppear()에 착색 :

backgroundCustomView.layer?.backgroundColor = NSColor.white.cgColor 

문제는 NSTableView는의 항목 그들 내부의 반투명 부분이 나타납니다 있다는 것입니다.

저는 NSTableView가 반투명없이 표시되는 것을 선호하고 싶습니다. (이것은 NSTableView 아래에 사용자 정의보기를 배치하기 때문에 발생합니다).

나는 IB에서 모든 것에 대해 행운이없는 관련 옵션이 될 수 있다고 생각하는 모든 것을 바꾸려고했습니다.

enter image description here

PS 항목 사이의 중단 된 반투명 셀 간격 옵션에 의해 기인한다. 당신이 볼 수 있음을 규정 할 필요가

답변

1

는 백업 저장소로 레이어를 필요

backgroundCustomView.wantsLayer = true 
backgroundCustomView.layer?.backgroundColor = NSColor.white.cgColor 
wantsLayer 속성 문서에서

더 많은 정보 page

+0

내가 문 추가, 당신에게 아돌 포 감사하지만 불행히도 NSTableView는 보여 계속 그 모습. 어쩌면 내가 IB에서 뭔가 잘못한 것일 수도 있습니다. 질문에서 언급하는 것을 잊은 것은 앱이 상태 표시 줄 항목으로 실행되고 뷰가 NSPopover()로 메뉴 표시 줄에서 열린다는 것입니다. 누락 된 정보를 유감스럽게 생각합니다. – Cue

+0

기본 뷰 (NSViewControler의 뷰)와 동일하지만 이제 수행하십시오. self.view.wantsLayer = true와 같은 것 – Adolfo

+0

Adolfo님께 감사드립니다. 또한이 구현, 나는 투명성을 사용할 수 없습니다. 나는이 문서를 확인했지만 내 상황에 적용되지 않는 것 같다. https://developer.apple.com/reference/appkit/nsvisualeffectview – Cue