반응형

iOS/코드조각 121

[iOS, Swift] CollectionView, Compositional Layout 기본 예제

iOS 16.1, Xcode 14.2, Swift 5, UIKit 환경에서 진행했습니다. UICollectionViewCompositionalLayout은 iOS 13에서 추가된 새로운 레이아웃 클래스입니다. 이 레이아웃 클래스를 사용하면 CollectionView의 레이아웃을 더욱 유연하게 구성할 수 있습니다. Compositional Layout을 사용하려면, 먼저 UICollectionViewCompositionalLayout 객체를 만들어야합니다. 이 객체는 섹션에 대한 정보를 받아와서, 해당 섹션에 대한 레이아웃을 구성하는 역할을 합니다. 이 객체를 만들 때는, UICollectionViewCompositionalLayoutConfiguration 객체를 사용하여 몇 가지 옵션을 설정할 수 있습..

iOS/코드조각 2023.03.09

[iOS, Swift] CollectionView 예제코드(Storyboard 활용)

iOS 16.1, Xcode 14.2, Swift 5, UIKit 환경에서 진행했습니다. CollectionView는 iOS 애플리케이션에서 리스트 형태의 컨텐츠를 보여주기 위한 UI 컴포넌트입니다. 예를 들어, 앨범 커버, 뉴스피드 등에서 사용됩니다. CollectionView는 UICollectionViewDataSource, UICollectionViewDelegate, UICollectionViewDelegateFlowLayout 프로토콜을 이용하여 컨텐츠를 관리하고, UICollectionViewFlowLayout을 이용하여 레이아웃을 구성합니다. iOS 앱에서는 이미지 갤러리, 피드, 타임라인, 카탈로그 등에서 CollectionView를 사용합니다. 1. Storyboard에서 Collect..

iOS/코드조각 2023.03.08

[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] 이미지뷰에 이미지 넣기(인터넷 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
반응형