오늘은 프로젝트 기능 구현 중 추가적인 기능을 넣어주고 싶었는데 기능마다 버튼을 넣어주는 것을 싫고 이전에 팀원분께서 사용했던 UIMenu를 사용해서 한곳에 넣어 두고 버튼을 하나만 넣어 그 버튼을 누르면 메뉴 버튼이 뜰 수 있도록 구현하려고 한다. 특정 핀로그를 수정하기 , 삭제하기 , 원하지 않은 게시물 숨기기 , 공유하기 등 여러가지 기능을 넣어보려고 한다.optionsButton.addTarget(self, action: #selector(setupMenu), for: .touchUpInside)버튼을 하나 만들어 준 뒤 setupMenu의 메서드가 실행되도록 설정한다.@objc func setupMenu() { let shareAction = UIAction(title: "공유하기", im..
오늘은 갤러리 컬렉션 뷰 중에서 사진을 꾸욱 누르면 사진이 흔들리고 안보이던 삭제 버튼이 보이면서 개별적으로 사진을 삭제할 수 있는 기능을 구현하여 해당 내용을 기록으로 남겨두려고 한다. 먼저 컬렉션 뷰 셀에 꾸욱 눌러 애니메이션을 넣기위해 코드를 구현해주자let longPressGesture = UILongPressGestureRecognizer(target: self, action: #selector(handleLongPressGesture(_:)))galleryCollectionView.addGestureRecognizer(longPressGesture)애플에서 제공해주는 UILongPressGestureRecognizer를 사용해서 구현을 할 예정이다.구현 방법은 우리가 많이 사용하는 addTar..
2024.05.29 - [◽️ Programming/T I L] - [Project 일지] 여행 기록 앱 만들기 (1) - ScrollView , CollectionCustomView2024.05.31 - [◽️ Programming/T I L] - [Project 일지] 여행 기록 앱 만들기 (2) - MapKit , CustomFlowLayout2024.06.03 - [◽️ Programming/T I L] - [Project 일지] 여행 기록 앱 만들기 (3) - isExpanded , isUserInteractionEnabled2024.06.05 - [◽️ Programming/T I L] - [Project 일지] 여행 기록 앱 만들기 (4) - scrollViewDidScroll, Segmen..
2024.05.29 - [◽️ Programming/T I L] - [Project 일지] 여행 기록 앱 만들기 (1) - ScrollView , CollectionCustomView2024.05.31 - [◽️ Programming/T I L] - [Project 일지] 여행 기록 앱 만들기 (2) - MapKit , CustomFlowLayout2024.06.03 - [◽️ Programming/T I L] - [Project 일지] 여행 기록 앱 만들기 (3) - isExpanded , isUserInteractionEnabled 세부 페이지를 만들면서 앨범과 지도에 대한 물리적인 한계로 인해 원하던 구현이 어려울 것으로 판단되어 팀원들과 상의한 끝에 상당부분 많은 내용을 변경하고 input을 넣을..
2024.05.29 - [◽️ Programming/T I L] - [Project 일지] 여행 기록 앱 만들기 (1) - ScrollView , CollectionCustomView2024.05.31 - [◽️ Programming/T I L] - [Project 일지] 여행 기록 앱 만들기 (2) - MapKit , CustomFlowLayout오늘은 컬렉션 뷰에 4개 이상의 사진이 들어갈 경우, 4번째 사진에 몇장이 더 추가되어있는지 표시하고 해당 셀을 클릭하면 셀이 확장될 수 있도록 구현하였다. CollectionView Cell 확장하기var isExpanded: Bool = false먼저 isExpanded의 값을 인스턴스화 해서 값을 설정해 특정 상황에서 해당 내용을 선언할 수 있도록 해준다..
오늘은 여행 기록 내 지도를 넣어주고, 앨범에 사진을 삽입했을 때 일반적으로 떠있는 앨범이 아니라 살짝 셀을 변형시켜 조금 더 느낌있게 구현하기 위해 커스텀 플로우 레이아웃을 사용해 보았다. MapKit 사용하기여행기록을 사용할 때 맵에 지도를 넣어 위치를 나타낼 수 있는 지도를 넣어주기 위해서 맵킷을 사용해 GPS를 기록하려고 맵을 사용하려고 한다.import UIKitimport MapKit@objc func mapContainerViewTapped() { let mapDetailVC = MapDetailViewController() let navigationController = UINavigationController(rootViewController: mapDetailVC) na..
드디어 최종 프로젝트가 시작되었다. 다들 의견을 다양하고 적극적으로 내주셔서 많은 내용을 정하고 진도를 빠르게 나갈 수 있었다. 이번에는 여행을 다녀오고 기록을 할 수 있는 앱을 만들어 보려고 한다. 이번 프로젝트에서도 역시 여러가지 다양한 시도를 할 예정이고 아무래도 마지막 팀 프로젝트이다 보니 후회 없이 마무리 하고 싶다. 상세 페이지 구현내가 맡은 내용은 여행의 기록을 넣을 수 있는 상세 페이지 구현이다. 먼저 우리가 만들려고 하는 내용을 살펴 보면 여행지에 대한 정보 및 쓰고 싶은 내용과 사진, 그리고 지도가 들어가며 같이 다녀온 인물을 추가할 수 있도록 구현할 예정이다. 먼저 기본적인 UI를 구성해보자. 스크롤 뷰를 주로 사용하여 스크롤 시 입력할 수 있는 부분의 면적을 넓히고 밑에 다양한 내용..
RxSwift에 대해서 알아보자RxSwift는 iOS와 macOS 개발에서 사용되는 반응형 프로그래밍 라이브러리이다. 이 라이브러리는 Rx(Reactive Extensions) 패턴을 기반으로 하며, 비동기 데이터 스트림을 쉽게 처리하고 관리할 수 있게 해준다. RxSwift가 나오게 된 이유비동기 작업의 간소화 : 비동기 작업(네트워크 , 사용자 입력 등)을 처리할때 콜백이나 델리게이트 패턴을 사용하는 것은 코드 복잡도를 증가시킨다. RxSwift는 이러한 비동기 작업을 Observable을 통해 간결하게 표현할 수 있다.코드의 가독성 및 유지보수성 향상 : RxSwift를 사용하면 데이터 흐름을 명확하게 정의할 수 있어 코드의 가독성과 유지보수성이 향상된다.함수형 프로그래밍의 장점 : RxSwift는..
2024.05.13 - [◽️ Programming/T I L] - [Project 일지] 단어장 앱 만들기 (1)2024.05.14 - [◽️ Programming/T I L] - [Project 일지] 단어장 앱 만들기 (2)2024.05.15 - [◽️ Programming/T I L] - [Project 일지] 단어장 앱 만들기 (3)2024.05.16 - [◽️ Programming/T I L] - [Project 일지] 단어장 앱 만들기 (4)2024.05.19 - [◽️ Programming/T I L] - [Project 일지] 단어장 앱 만들기 (5)2024.05.20 - [◽️ Programming/T I L] - [Project 일지] 단어장 앱 만들기 (6) 오늘은 3번째 팀프로젝트..
카카오톡 소셜 로그인 구현하기이번에 과제를 진행하면서 애플 로그인을 넣어주셔서 추가적으로 다른 소셜 로그인이 들어가면 좋을 것 같아 카카오톡 소셜 로그인을 넣기로 했다. 일단 카카오 로그인에 관련되서 공식 사이트의 자세한 내용이 있어 생각보다 크게 어렵지 않게 구현할 수 있었다.https://developers.kakao.com/docs/latest/ko/kakaologin/common Kakao Developers카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.developers.kakao.com 공식문서를 토대로 살펴보면 카카오 계정을 인증하는 방법에 따라 카카오 로그인은 두가지로 나뉜다.카카오톡으로 로그인 ..