Open chaneeii opened 2 years ago
Xcode를 열어서 macOS 에서 App 템플릿을 선택하고 SwiftUI 로 프로젝트를 시작해주자!
프로젝트를 생성하고 시뮬레이터를 실행해보자. 시뮬레이터를 실행할때는 My Mac을 선택한다!
그럼 이렇게 작고 귀여운 Mac App이 등장한다 😍 Canvas에서도 확인이 가능하다! 우리가 아는 Mac App 의 사이즈를 내기 위해서는 .frame() modifier를 이용해야한다.
그럼 이제 프레임 사이즈를 조절해보도록 하겠다. width와 height을 fix 하게 되면, 맥앱은 resize를 할 수 없다. 따라서 resizable 한 맥앱을 만들기 위해서는 아래와 같이 max/min 를 활용하여 modifer 를 설정하는 것이 중요하다.
.frame(minWidth: 600, minHeight: 400)
.frame(maxWidth: .infinity, maxHeight: .infinity)
그리고 맥앱을 개발할때는 아마도 화면 크기가 커져서 그런지 이렇게 따로 preview를 팝업으로 빼서 볼 수 있도록 preview를 제공한다!
이제 mac앱의 기본 레이아웃 형태 중 하나인 master-detail layout을 구성해보고자 한다. 우선 간단하게 텍스트의 리스트를 넣어보자!
퍼갑니다~
.listStyle(.sidebar)
을 사용하자
NavigationView {
List(1..<10) {
Text("\($0)")
}
.listStyle(.sidebar)
}
https://www.hackingwithswift.com/quick-start/swiftui/how-to-get-translucent-lists-on-macos
맥앱에서 신호등 버튼을 없애고 싶은 경우 이렇게 해결하면 되는데 더 좋은 방법이 있는지 알아봐야함.
.onReceive(NotificationCenter.default.publisher(for: NSApplication.didBecomeActiveNotification), perform: { _ in
NSApp.mainWindow?.standardWindowButton(.zoomButton)?.isHidden = true
// NSApp.mainWindow?.standardWindowButton(.closeButton)?.isHidden = true
NSApp.mainWindow?.standardWindowButton(.miniaturizeButton)?.isHidden = true
})
Mac Apps 관련 References
Basics
Useful Articles