2016년 9월 6일 화요일

[Cocoa] 타이틀바는 없지만 툴바에 표준 버튼이 있는 윈도우 만들기

뭔가 제목이 좀 복잡한 감이 있는데, 영문으로 적으면 Unified Title and Toolbar 라는 형식의 윈도우를 만드는 방법에 대한 글이다. 내용 자체는 매우 간단한데 이번엔 영상으로 (콩글리쉬와 함께 -_-) 만들어봤다.


제목 처럼 타이틀바는 없지만 대신 툴바가 보이며, 툴바에는 타이틀바에 있는 표준 버튼들이 좌측에 존재하는 윈도우 모양세다. 이 모양세는 많이 사용되는 사파리(Safari)나 아이튠즈(iTunes) 혹은 우리들의 느림보 친구(-_-) Xcode 앱의 윈도우에서도 사용하고 있는 디자인이다.

Unified Title and Toolbar

인터페이스 빌더에서 윈도우(NSWindow)를 선택할 경우 볼 수 있는 속성 중에 Unified Title and Toolbar 라는게 있다. 이 옵션은 타이틀바와 툴바를 하나로 합칠 수 있게 만들어 주는 옵션이다.

다만 이 옵션을 켠다고 해서 타이틀바가 사라지는건 아니다. 타이틀바가 사라지면 툴바도 같이 사라지는 정도의 효과만 발생할 뿐이다.

Title Visibility

이름만 봐도 추측이 가능하겠지만, NSWindow의 titleVisibility 옵션은 타이틀바가 보이느냐 안보이느냐를 결정 할 수 있는 값을 가지게 된다. enum 타입이기 때문에 위 예제에서는 .Hidden 이라는 값을 사용한다.

혹시 인터페이스 빌더에서 윈도우를 선택하면 볼 수 있는 Title Bar 옵션을 체크 해제하면 동일하지 않냐라고 물어올 수 있는데 해당 옵션과 titleVisibility는 다른 프로퍼티이다. Title Bar 체크를 해제하면 타이틀바와 툴바가 동시에 사라지는 참극이 나타난다. Title Bar 옵션은 윈도우 생성 시 사용하는 스타일 마스크 값에 해당하니 오해하지 말자.

댓글 없음 :