[SwiftUI] 앱 아이콘(Icon) 설정 방법
·
[Programming Language]/[SwiftUI]
1. Assets.xcassets 파일프로젝트를 생성하면 자동으로 생성되는 파일인 Assets.scassets 파일을 Xcode에서 열어보면 다음 화면을 볼 수 있다.이 프로젝트는 Multiplatform App을 선택하고 생성한 프로젝트이기에 위와 같은 화면이 보이게 된다. 여기서 가장 큰 이미지 크기는 1024x1024px이므로 이 크기의 이미지 1장을 준비해야 한다.  2. 여러 규격의 사진을 자동으로 만들어주는 사이트다양한 규격의 사진을 하나하나 편집하는 것은 여간 귀찮은 일이다. 그러나 아래 사이트에서 이 일을 쉽게 할 수 있다. App Icon Generator www.appicon.co 2-1. 1024x1024px 크기의 사진 업로드앱 아이콘으로 사용할 이미지를 업로드하고, 사용할 운영체제..
[SwiftUI] TabView란? 사용 예시, 배경색 및 아이템 색 변경 등
·
[Programming Language]/[SwiftUI]
[머릿말]현재 진행 중인 프로젝트에 TabView를 사용하게 되었다. 사실상 요즘 거의 모든 앱에서 탭뷰를 사용하고 있는 것 같다. 각각의 탭을 구성하는 방법, 선택된 탭의 색과 선택되지 않은 탭의 색을 변경하는 방법, TabBar의 색상을 변경하는 방법을 정리하고자 한다.1. TabView 란?현재 핸드폰에 있는 앱을 아무거나 켜보더라도 거의 대부분 이 TabView를 사용하고 있을 것이다. 카카오톡, 네이버 지도, 토스 등의 앱에서 TabView를 사용하고 있음을 확인할 수 있다.공식 문서에서의 내용은 다음과 같다. "대화형 사용자 인터페이스 요소들을 사용하여 여러 자식 뷰들 사이를 전환하는 뷰" 기존의 TabView를 구현할 때는 .tabItem(_:)를 사용하여 구현했었지만 이건 이제 depre..
[SwiftUI] Deprecated 되어버린 cornerRadius를 대체할 방법
·
[Programming Language]/[SwiftUI]
[머릿말]테두리를 부드럽게 설정할 수 있는 메서드, cornerRadius는 iOS 18.1부터 deprecated 되었다... 왜 deprecated 되었을까관련해서 StackOverflow를 보면 아쉬워하는 사람이 꽤나 존재한다.그렇지만, 이제는 deprecated 되버렸으니 다른 방법을 사용해야 한다!⦿ cornerRadius 란?공식 문서에서의 내용은 다음과 같다."명시된 corner radius값으로 뷰의 경계를 자른다."iOS 13.0부터 오랫동안 사용된 메서드인데 곳곳에서 deprecated 되었다고 알려주고 있다...🤣 그래도 어떻게 사용하는 것인지는 한번 살펴보도록 하자!import SwiftUIstruct ContentView: View { var body: some Vi..
[SwiftUI] @SceneStorage(화면 저장소) vs @AppStorage(앱 저장소)
·
[Programming Language]/[SwiftUI]
[머릿말]앱에서 필요한 데이터를 저장하기 위해 사용하는 두 개념에 대해 접하게 되었다. 데이터를 저장하는 일은 필수적이므로 자주 찾아보게 될 것 같아 글로 남겨놓고자 한다.@SceneStorage와 @AppStorage는 모두 프로퍼티 래퍼(Property wrapper)다. 이는 SwiftUI가 데이터를 저장할 목적으로 제공한다. 저장할 데이터에 대한 String 타입의 key 값을 통해 데이터를 구분짓는다. 우리가 사용하는 앱은 종료되더라도 데이터는 보존된다. 이는 두 프로퍼티 래퍼를 사용하여 구현해볼 수 있다. ⦿ 두 프로퍼티 래퍼를 사용하지 않았을 때는?두 프로퍼티 래퍼를 사용하지 않은 경우, 앱이 종료되면 데이터는 그 즉시 소멸된다. 간단하게 회원가입 화면을 통해 확인해보자. 아래 코드는 Sce..
[SwiftUI] Deprecated된 tabItem(_:)을 대신하여 Tab()을 사용할 수 있다
·
[Programming Language]/[SwiftUI]
[머릿말]Android 앱 개발 공부를 할 때도 느꼈던 것이지만 유독 앱 분야가 변동사항이 많은 것 같다. 비교적 최근에 출판된 책으로 공부를 하고 있음에도 불구하고 deprecated 되었다는 문구를 많이 확인하고 있다. deprecated 되었다는 것은 새로운 대체제가 있다는 것이므로 어떤 대체제가 있는지 찾아보며 공부하고 있는데 이것도 하나의 재미 포인트로 작용하는 것 같다.● tabItem(_:) 이란?공식 문서에서의 내용은 다음과 같다."뷰와 연관된 탭바 아이템을 설정한다."iOS 13.0부터 18.1까지 잘 사용된 함수인 것 같은데... 왜 사라지는 것인가... 이것을 사용하면 TabView의 하단에 tab bar item을 설정할 수 있다. 아래 예제를 통해 확인해보자.import Swift..
[SwiftUI] OutlineGroup과 DisclosureGroup의 차이점
·
[Programming Language]/[SwiftUI]
[머릿말]List, OutlineGroup과 DisclosureGroup에 대해 공부하던 중 이것들의 차이점에 대해 궁금해졌다. 자식 데이터에 대한 계층적 구조를 가진 뷰를 만드는 공통점에 반해 차이점은 무엇인지 말이다. 결론부터 말하자면 OutlineGroup은 자식 데이터(children)가 있는 경우 알아서 그에 대한 계층적 뷰를 생성하여 보여준다. 그러나 DisclosureGroup은 계층적 뷰를 만들기 위해선 직접 작성해야 한다는 차이점이 존재한다. 즉, OutlineGroup은 계층적 구조를 가지는 데이터에 대한 뷰를 자동으로 만들어 주는 것이고, DisclosureGroup은 계층적 뷰를 만들 수 있는 껍데기(?)라고 할 수 있는 것이다.● OutlineGroup 이란?공식 문서에서의 내용은..