Audio2Tag에서 Modal이란 것을 처음 알게 되었고 성공적으로 띄웠다.
현재는 Tagging 하는 시스템을 구현중이고.
VgmDB에서 태그 정보를 읽고, 시각적으로 보여주는 기능이다.
FreeDB 같은 경우에는 MusicBrainz에서 제공하는 데이터베이스를 이용하는 창이다.
현재 ... 라이브러리는 구현 중이고 VgmDB는 구현이 거의 완성이 된 상태이다.
Open 버튼을 누르면 해당 파일을 열수 있는 NSOpenPanel을 이용했다.
NSPanelOpen을 이용해서 열면 해당 파일은 Read, Write할 수 있는 권한을 얻으므로
리스트 뷰에 추가를 한다.
이제 VgmDB를 누를 경우 모달 창이 나오고, 해당 창에서
VgmDB의 데이터 베이스를 검색 및 사용을 할 수 있게 할 것이다.
해당 기능은 아래에 있는 XCode의 프로젝트 생성을 본 받아 개발을 할 것이다.
대표적인 개발 예시인 XCode의 프로젝트 생성이다.
해당 기능 처럼 사용을 하게 된다면 정상적으로 모달창이 나온다고 한다.
기능을 참 신기하게 만들었다...
Button(action: { self.isActive = true;
self.viewModel.downloadVgmDB() }) {
Text("VgmDB")
}.sheet(isPresented: self.$isActive) {
TagSearchModalView()
}
Dismiss 의 기능은 NavigaitonLink로 이동한 창을 종료 하고 싶을 때 사용 할려고 했는데 불가능했었는데...
우연찮게 Modal 은 가능하다고 해서 사용했다.
struct TagSearchModalView: View {
@Environment(\.presentationMode) private var mode
func close() {
mode.wrappedValue.dismiss()
}
var body: some View {
VStack{
Button(action: self.close) {
Text("a")
}
}.frame(width: 400, height: 400)
}
}
크으... 정말.. 신기한 SwiftUI 이였다.
'차장님의 이야기' 카테고리의 다른 글
언어는 도구이다.. (0) | 2020.07.08 |
---|---|
Swift의 Delegate 패턴 구현 및 만들어 보기 (0) | 2020.07.08 |
Cue 파일 읽고, 파일 분리 작업 완성 (0) | 2020.06.29 |
macOS용 음원 파일 관리 프로그램 제작 #1 (0) | 2020.06.23 |
C++의 offsetof 매크로 뜯어보기 (0) | 2020.06.19 |