Removing the Title Bar in Your Mac App Built with Mac Catalyst

Panther·2021년 7월 29일
0

https://developer.apple.com/documentation/uikit/mac_catalyst/removing_the_title_bar_in_your_mac_app_built_with_mac_catalyst

"Display content that fills the entire height of a window by removing the title bar."

제목 바를 제거함으로써 윈도우의 전체 높이를 채우는 컨텐트를 표시합니다.

Overview

기본값으로 맥 Catalyst로 빌드된 맥 앱은 윈도우 상단에 제목 바를 표시합니다. 수평으로 된 선은 윈도우의 컨텐트와 제목 바를 구분합니다.

메시지와 연락처와 같은 특정 앱은 메인 윈도우에 제목 바를 갖지 않습니다. 대신 윈도우의 상단은 오직 Close, Minimize, Zoom 버튼만을 보여주며, 이 버튼들과 윈도우 컨텐트를 구분해주는 무언가가 없습니다. 이 UI 디자인에서 컨텐트 영역은 윈도우의 전체 높이를 채웁니다.

아래 이미지가 두 윈도우 사이에서 위에 설명한 내용에 해당하는 이미지를 보여줍니다. 첫 번째 윈도우는 제목 바를 표시하고 있고, 두 번째는 제목 바가 없습니다.

Remove the Title Bar

제목이 없는 윈도우로 디자인하길 선택했다면, 윈도우로부터 제목을 제거해야 합니다. 제목 바를 제거하려면 제목 바의 titleVisibility 속성을 UITitlebarTitleVisibility.hidden으로 설정하고, 툴바 속성을 nil로 설정해야 합니다. 아래 코드는 새 씬의 셋업이 이뤄지는 동안 윈도우로투버 제목 바와 구분선을 제거하는 방법을 보여주고 있습니다.

func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
    
    guard let windowScene = (scene as? UIWindowScene) else { return }
    
    #if targetEnvironment(macCatalyst)
    if let titlebar = windowScene.titlebar {
        titlebar.titleVisibility = .hidden
        titlebar.toolbar = nil
    }
    #endif

}

0개의 댓글