SwiftUI 57

[SwiftUI] TabView + CustomTabView

TabView + CustomTabView 탭뷰는 그렇게 어렵지 않다. 하지만 커스텀 탭뷰는 탭뷰를 사용하는게 아니므로 각별히 주의하자! ✅ TabView import SwiftUI struct MyTabView : View { var body: some View{ TabView { // 탭뷰를 걸어준다. // 보여질 화면 // Text("1번") // .fontWeight(.black) // .font(.largeTitle) MyView(title: "1번", bgColor: Color.red) // 뷰 .tabItem { // 뷰에 탭 아이템을 건다! Image(systemName: "airplane") Text("1번") } .tag(0) // tag설정 // Text("2번") // .fontWe..

[SwiftUI] GeometryReader

GeometryReader ✅ GeometryReader에 대해서 알아보자. GeometryReader는 쉽게 말해서 디바이스 기기마다 대응하기 위함이다. 음,, 대충 오토 레이아웃이라고 생각하면 좋아! ✅ 코드 import SwiftUI enum Index { // enum으로 처리한다. case one, two, three } struct MyGeometryReaderVStack : View { @State var index: Index = .one // 초기 상태는 one으로 var body: some View{ // 부모뷰의 비율을 사용 가능하다. GeometryReader{ geometry in VStack{ Button(action:{ // 버튼이 클릭되었을때 로직 print("1번이 클릭되었..

[SwiftUI] List (tableView in UIKit)

List (tableView in UIKit) ✅ SwiftUI의 List에 대해서 알아보자. List를 구성하는건 크게 어렵지 않다. ✅ MyList import SwiftUI struct MyList: View { // 다른쪽에서 데이터를 받아올 것이기 때문에 @Binding var isNavigationBarHidden: Bool // 바인딩의 경우에는 생성자 필수! init(isNavigationBarHidden: Binding = .constant(false)) { if #available(iOS 14.0, *){ } else { // 아래 버전에서는 푸터가 있어서 이 코드를 통해서 없애야 한다. UITableView.appearance().tableFooterView = UIView() } U..

[SwiftUI] Alert

Alert ✅ SwiftUI에서 Alert를 사용하는 것을 알아보자. 아주 간단한 내용을 기반으로 커스텀 하는 것은 알아서 해보기! import SwiftUI struct contentView: View { // struct는 class와 다르게 데이터가 고정이라서 변경을 하려면 @state키워드 사용 // mutating과 닮아있다. @State var shouldShowAlert: Bool = false var body: some View { Button( action: { print("확인 버튼이 클릭되었다.") self.shouldShowAlert = true }) { Text("확인") .fontWeight(.bold) .foregroundColor(.white) .padding() .frame..

[SwiftUI] How to set Image in SwiftUI

How to set Image in SwiftUI ✅ SwiftUI에서 Image를 세팅하는 방법에 대해 알아봅니다. ✅ CircleImageView.swift import SwiftUI struct CircleImageView : View { var body: some View { //Image(systemName: "bolt.circle") // .font(.system(size: 200)) // 시스템 이미지는 font로 크기를 조절함. // .foregroundColor(.yellow) // .shadow(color: .gray, radius: 2, x: 2, y: 10) Image("myImage") .resizable() // 이미지의 크기를 조정해주기 위해서 .scaledToFill() /..

SwiftUI Info.plist가 없을 때

Info.plist가 없을 때 점점 SwiftUI가 OS별 이슈도 줄어들고 쓸만한 것 같음. 기존에는 UIKit으로 프로젝트를 생성해서 필요한 일정 부분에 SwiftUI를 도입하는 형태였는데, SwiftUI로 아예 프로젝트를 생성하니까 Info.plist가 안보임. 같은 Xcode 버전인데 UIKit으로 생성할 때랑 SwiftUI로 생성할 때랑 달라서 조금 당황ㅎ .. 이 설정이 config? 같은걸로 빠져서 대격변이 일어난건가 싶었는데 그건 아니였음. 완전히 새로운 파일을 교체하는 방법과 기존 파일에서 추가하는 방법 두가지를 알아보고자 함. 기존 파일을 활용하는 방법 타겟에서 저기에 위치함.  완전히 새로운 파일로 교체하는 방법파일 생성할 때처럼 Info.plist 파일을 생성해주기나는 Apperanc..

iOS Lottie 알아보기 (.json, .lottie)

iOS Lottie 알아보기 모든 걸 코드로 구현할 수 없어서 적당히 로티를 사용하는 걸로 하자. 변경로그2022년 2월 19일 03시 13분 최초 포스팅2022년 4월 29일 15시 05분Lottie AnimationView width, height 적용이 되지 않는 문제에 대한 고찰기존 샘플 코드에서 잘못된 레이아웃 수정2022년 4월 30일 16시 39분로티 이미지 색상 변경2024년 11월 15일 03시 01분dot-lottie 오픈소스 사용시 주의할 점    로티 오픈소스 사이트https://github.com/airbnb/lottie-ios/tree/master/Example/iOS/ViewControllers GitHub - airbnb/lottie-ios: An iOS library to..