반응형

iOS 197

[iOS, Swift] Data 용량 크기 구하기

iOS 16.1, Xcode 14.2, Swift 5, UIKit 환경에서 진행했습니다. Swift Data의 Count를 사용하여 파일의 용량 정보를 알 수 있습니다. 파일의 용량 정보는 해당 파일이 차지하는 데이터의 크기를 나타냅니다. 이 정보는 파일을 저장하거나 전송할 때 유용하게 사용될 수 있습니다. Swift Data의 Count는 데이터의 크기를 바이트 단위로 반환합니다. 이를 활용하여 파일의 용량 정보를 확인할 수 있습니다. 아래는 Swift 코드 예시입니다. import Foundation let fileURL = URL(fileURLWithPath: "파일 경로") let fileData = try Data(contentsOf: fileURL) let fileSize = fileData...

iOS/코드조각 2023.03.06

[iOS, Swift] DocumentPicker로 선택한 파일 저장하기

iOS 16.1, Xcode 14.2, Swift 5, UIKit 환경에서 진행했습니다. DocumentPicker에 관한 기본적인 예제 참고 사이트 https://bksesame.tistory.com/207 [iOS, Swift] DocumentPicker 사용예제 iOS 16.1, Xcode 14.2, Swift 5, UIKit 환경에서 진행했습니다. DocumentPickerController에서 forOpeningContentTypes의 타입을 설정하고 초기화를 한 후 present로 pickerController를 띄어준다.설정된 타입은 png로 하였는데, bksesame.tistory.com DocumentPicker에서 파일을 선택할 시에 파일을 내 앱으로 저장하는 방법에 대하여 포스팅하겠습..

iOS/코드조각 2023.03.05

[iOS, Swift] 앱 내에 폴더 만들고 파일 저장하기(FileManager)

iOS 16.1, Xcode 14.2, Swift 5, UIKit 환경에서 진행했습니다. 폴더 생성 코드 let documentURL = FileManager.urls(for: .documentDirectory, in: .userDomainMask).first! let directoryURL = documentURL.appendPathComponent("folder") do { try fileManager.createDirectory(atPath: directoryURL.path, withIntermediateDirectories: false, attributes: nil) } catch let e as NSError { print(e.localizedDescription) } 파일 삭제 코드 let f..

iOS/코드조각 2023.03.04

[iOS, Swift] hugging priorty 및 CompressionResistancePriority 수정(programmatic)

iOS 16.1, Xcode 14.2, Swift 5, UIKit 환경에서 진행했습니다. Priority를 수정할 때에 Storyboard에서는 hugging priority와 compressionResistancePriority를 수정하기 쉬웠습니다. 코드로 뷰를 짠 후에 뷰의 priority를 수정하는 방법으로는 setContentHuggingPriority와 setContentCompressionResistancePriority 함수를 활용하면 됩니다. 코드예시 view.setContentCompressionResistancePriority(.defaultLow, for: .horizontal) view.setContentHuggingPriority(.defaultLow, for: .horizont..

iOS/코드조각 2023.03.03

[iOS, Swift] StackView 안의 뷰가 늘어나는 오류해결

iOS 16.1, Xcode 14.2, Swift 5, UIKit 환경에서 진행했습니다. 최근에 스택뷰를 활용하는데 스택뷰 안에 있는 뷰들이 뷰들의 크기가 아닌 스택뷰에 크기에 맞춰 늘어나는 문제가 있었습니다. 그 이유는 스택뷰의 Constraints를 지정할 때 왼쪽 오른쪽의 제약을 상위 뷰에 맞춰서 주었기 때문인데 스택뷰의 제약을 왼쪽에다가만 준다면 문제를 해결할 수 있습니다.

iOS/오류해결 2023.03.02

[iOS, Swift] 이미지뷰에 이미지 넣기(인터넷 url 주소)

iOS 16.1, Xcode 14.2, Swift 5, UIKit 환경에서 진행했습니다. UIImageView에 image를 넣으려면 아래와 같이하면 이미지를 넣을 수 있다. imageView.image = UIImage(named: "이미지이름") 인터넷에서 있는 url 주소로도 imageView에 이미지를 넣을 수 있는데, Data를 초기화할 때, url 주소를 입력하여 url에 있는 이미지를 data 형식으로 불러온 후 UIImage를 받은 data를 통해 만들고 난 후에 imageView에 이미지를 넣는 방식이다. DispatchQueue.global().async { [weak self] in if let data = try? Data(contentsOf: url) { if let image =..

iOS/코드조각 2023.02.28

[iOS, Swift] 이미지 파일 업로드하기 (alamofire, multipart-data)

iOS 16.1, Xcode 14.2, Swift 5, UIKit 환경에서 진행했습니다. alamofire를 사용하여 이미지 파일을 업로드할 때에는 기존에 썼던 AF.request와는 달리 AF.upload 함수를 사용하여야합니다. 먼저 multipart/form-data 형식으로 보내기 위해 header 변수에 Content-Type으로 형식을 설정합니다. 그리고 multipartForm으로 전송하기 위해 upload(multipartFormData: , to: ) 함수를 선택합니다. let header = ["Content-Type": "multipart/form-data"] AF.upload(multipartFormData: { multipartFormData in }, to: url, method..

iOS/코드조각 2023.02.27

[iOS, Swift] UIMenu 기본적인 예제

iOS 16.1, Xcode 14.2, Swift 5, UIKit 환경에서 진행했습니다. iOS13 이후부터 UIMenu를 사용할 수 있게 되었습니다. 기존에 AlertController를 통해 사용자에게 알림을 표현하였는데, 여러 개의 메뉴를 선택할 수 있는 UIMenu를 쓸 수 있어서 개발의 폭이 넓어졌습니다. UIAction은 버튼을 클릭할 때 사용하는 addTarget과 비슷한 역할을 하는데 title, image, handler 등의 속성을 추가하여 메뉴에 표현되는 이미지와 클릭되었을 때 동작하는 코드를 넣을 수 있습니다. let actionArray: [UIAction] = [ UIAction(title: "테스트1", image: UIImage(systemName: "x.circle.fill..

iOS/코드조각 2023.02.26

[iOS, Swift] 라디오버튼 구현하기

iOS 16.1, Xcode 14.2, Swift 5, UIKit 환경에서 진행했습니다. 라디오버튼 구현의 기본적인 아이디어로는 RadioButton을 관리하는 Controller를 만들고 배열변수에 라디오버튼을 넣습니다. 배열에 넣을 때 normal 상태에서는 기본적인 이미지가 나오게끔, selected 상태일 때는 선택된 이미지가 나오게끔 설정합니다. 기본적으로 선택될 radioButton을 선택을 하고, 버튼이 클릭되면 배열에 담겨있는 버튼 중 하나만 선택되게끔 합니다. 전체코드 class TestViewController: UIViewController { @IBOutlet weak var radioButton1: UIButton! @IBOutlet weak var radioButton2: UIB..

iOS/코드조각 2023.02.25
반응형