본문 바로가기

iOS28

[iOS][Swift UI] 로딩 화면 구현하기 UIActivityIndicatorView를 상속받아서 구현 로딩중이면 다른 화면의 UI가 눌려지지 않도록 구현 중앙에 표출 구현 사용 시 매번 객체생성이 필요 없으므로 static으로 사용할 수 있게끔 선언 class LoadingIndicator { static func showLoading() { DispatchQueue.main.async { // ... } } static func hideLoading() { DispatchQueue.main.async { // ... } } } showLoading 구현 최상단에 있는 window 객체 획득 window의 subviews들 중 마지막에 있는 화면이 UIActivityIndicatorView면 그대로 사용하고, 아닐 경우 객체를 새로 생성 UIA.. 2023. 2. 20.
[iOS][Swift] Key & Value 형태로 값을 저장 Userdefaults.standrad.removeObject(forkey: String) 안드로이드에서는 Key, Value형태로때 간단히 데이터를 저장할때 SharedPreferences를 사용합니다. 하지만 iOS에서는 UserDefaults.standard 를 통해서 저장 할 수 있습니다. 1. 데이터 저장하기 - 첫번째 파라미터에는 여러가지 타입이 들어 갈 수 있습니다. ( Float, Double, Int, Bool, URL, String ... 등 ) UserDefaults.standard.set(Any?, forkey: String) 2. 데이터 불러오기 - 1.에서 저장한 데이터의 유형에 따라 데이터를 불러오면 됩니다. UserDefaults.standard.object(forkey: S.. 2023. 2. 12.
[iOS][SwiftUI] Button SwiftUI에서의 Button은 Action 과 Label 을 제공하여 버튼을 만들 수 있습니다. 액션은 사용자가 버튼을 클릭하거나 택할 때 작업을 수행하는 메서드 또는 클로저 프로퍼티입니다. 레이블은 예를 들어 '취소'와 같은 텍스트 또는 '뒤로 가기 화살표'와 같은 아이콘을 표시하여 단추의 동작을 실행하는 view입니다. 이를 통해 다양하게 활용할 수 있습니다. Button(action: { //action // 명령을 수행하는 부분 }) { //view //보여지는 부분 HStack { } } 2023. 1. 29.
[iOS][SwiftUI] TextField TextField란 레이블과 값에 대한 바인딩이 있는 TextField를 작성할 수 있습니다. 값이 문자열인 경우, TextField는 사용자가 입력하거나 편집할 때 값을 계속 업데이트합니다.String타입이 아닌 경우, return값을 누르는 등 사용자가 편집을 커밋할 때 값을 업데이트합니다. 키보드 종류 바꾸는 법 만약 사용자가 TextField를 탭 했을 때 사용 가능한 키패드 종류를 바꿔주는 방법도 있습니다. struct ContentView: View { @State var Text = "" var body: some View { Form { Section { TextField("Amount", text: $Text) .keyboardType(.decimalPad) //키패드 종류(숫자) } S.. 2023. 1. 14.
[iOS][UiKit] Camera 먼저 아래와 같이 임포트 시킨다. import PhotosUI import AVFoundation 생략하면 안 되는 가장 중요한 것! delegate 위임하기입니다! 이 기능을 사용하기 위해서는 UIImagePickerControllerDelegate, UINavigationControllerDelegate 이렇게 두 개의 delegate를 위임해서 사용해야 합니다! 그리고 이미지뷰를 아래와 같이 정의를 해줍니다. 기본이미지의 경우 Asset에있는 이미지를 정의 해둔다. 사진찍기 불러오기 메서드를 정의 한다. imagpickerController정의 하기 사진권한 및 캔슬했을때 예외처리 코드를 다 입력후 실행 시키면 아래와 같이 실행이 된다. xcode의경우 실기기로만 카메라 테스트를 진행할 수 있습니다. 2022. 12. 14.
[iOS][Ui Kit] Alamofire Alamofire는 Swift에서 HTTP 통신을 하기 위해 이용되는 대표적인 오픈소스 라이브러리다. Alamofire 제공하는 기능 Request & Response 의 체이닝 함수 제공 URL / JSON 형태의 파라미터 인코딩 File / Data / Stream / MultipartFormData 등 업로드 기능 HTTP Response의 Validation 안드로이드의 레트로핏과 비슷하다 맥 터미널에서 cocoapod에 아래와 같이 추가 한다. pod 'Alamofire', '~> 5.2' pod 'SwiftyJSON' SwiftyJSON 의 경우 json형태로 서버로 전송하기 위해서 필요한 라이브러리이다. xcode에 라이브러리 import import Alamofire import Swift.. 2022. 10. 15.
[iOS][SwiftUI]LazyVGrid 오늘은 SwiftUI의 LazyVGrid에 대해서 간단히 알아보겠습니다. 먼저 GridItem의 columns를 만들어줍니다. fixed, flexible 등 다양하게 설정할 수 있습니다. LazyVGrid 뷰를 만들고 위에 만들어놓았던 columns를 넣어줍니다. 전체 코드입니다. 결과 물입니다. 2022. 7. 8.
[iOS][SwiftUI] BarGraph 간단한 BarGraph를 만들어 보겠습니다. 결과 preview 입니다. 2022. 6. 1.
[iOS][SwiftUI] Binding SwiftUI에서 Binding을 구현해보겠습니다. 보시면 @State가 보이실겁니다. Bool 값에 줘보겠습니다. Text인 episode.name의 foregroundColor가 isPlaying이 true면 초록색, false면 검은색으로 바꾸도록 하였습니다. 그리고 테스트를 위해 struct를 따로 만들어 버튼을 만들어 보겠습니다. 보시면 @Binding이 보이실겁니다. 저 변수엔 따로 값이 지정되어있지 않고, 그림1 에서 보이듯이 @State로 지정된 'isPlaying' 변수를 그대로 받아 온 걸 볼 수 있습니다. 그리고 버튼의 액션에 self.isPlaying.toggle()은 클릭 할 때마다 Bool 값이 true면 false로, false면 true로 바꿔줍니다. 이렇게 하면 영상에서 보.. 2022. 5. 20.