[TIL #7] 23 / 03 / 27 ~ 23 / 03 / 28 자 오늘도 Mapkit을 할 건데요. 이번엔 MKAnnotationView에 관련하여 알아보겠습니다. 공식문서 예제 를 참고하여 만들었습니다. 시작 자 그러면 이제 MKAnnotationView를 상속받아 커스텀으로 AnnotationView를 만들어 보겠습니다. 타이틀과 사진을 포함한 AnnotationView을 만들어 보려고 하는데요. AnnotationView도 일종에 View라고 생각하고 만드시면 됩니다. Annotation, AnnotationView 및 처리까지 한번 직접 구현을 해봅시다. 우린 [Swift/TIL #6] MapKit을 사용해 보자 에서 직접 Annotation을 만들어봤습니다. 이번에는 이미지도 같이 사용할 것..
[TIL #6] 23 / 03 / 25 오늘은 간단하게 MapKit을 구현해보려 합니다. MapKit의 속성 및 메서드들을 정리해보려고 합니다. 지도 불러오기 객체 MKMapView를 만든 후, 레이아웃만 잡아주면 됩니다. class MapViewController: UIViewController { let mapView = MKMapView() override func viewDidLoad() { super.viewDidLoad() self.view.addSubview(mapView) mapView.snp.makeConstraints { $0.edges.equalToSuperview() } } } 속성과 메서드 너무 많아서 전체를 설명하긴 힘들고, 자주 사용하는 것들만 보여드리겠습니다. 자세한 내용은 ..
[TIL #5] 23 / 03 / 23 하... Tint... 오늘은 이미지를 불러와 버튼을 생성하는데, 이미지가 작아서 크기 변경이 필요했고, tint 컬러도 변경하려고 했습니다. 적용이 않돼서 한참 동안 싸우다가, 공부 겸 까먹지 않기 위해 이렇게 글을 쓰게 됐네요. UIGraphicsImageRenderer 간단 소개를 하자면, iOS 10부터 추가된 클래스로, Core Graphic을 통해 쉽게 이미지를 그릴 수 있는 API를 제공합니다. 자세한 내용은 공식문서 를 참고하세요. UIGraphicsImageRenderer를 통해 출력 이미지를 렌더링을 할 수 있습니다. 공식문서에 자세히 나와있지만, 간단히 사용해 봅시다. UIGraphicsImageRenderer 객체 생성 그런데 UIImage 타..
[TIL #4] 22 / 03 / 21오늘은 [Swift/TIL #3] 탭바 아이템을 버튼으로 교체 with CGAffineTransform(회전) 에서 만든,중간 add 버튼을 클릭하면, 팝 버튼이 생성되는 애니메이션을 만들어보려 합니다. 일단 아직 고쳐야 할 게 있지만, 중간 결과물을 먼저 봅시다. 오늘의 작업1. Pop 버튼 생성 준비2. Pop 버튼 생성 및 위치 설정3. 애니메이션 및 버튼 처리 고쳐야 할 일현재 만들고자 하는 건 원이 0에서 점점 커지는 애니메이션을 만들고 싶은데,버튼의 원이 먼저 생성되고 스케일이 커지는 문제점이 있네요. (수정 완료) Pop 버튼 생성 준비일단 버튼에 사용할 데이터들을 구조체로 만들어 줬습니다.// 탭바 pop 버튼에 사용할 데이터struct PopBut..
[TIL #3] 22 / 03 / 19 [Swift/TIL #2] CAShapeLayer 이용한 탭바 구현 에 이어서 오늘도 역시나 탭바 작업을 할 예정입니다. 오늘 할 작업을 정리해 보자면 1. 탭바 아이템을 버튼으로 교체 2. 버튼에 회전 애니메이션 효과를 추가 문제 탭바의 아이템 특성상 클릭하게 되면 설정해 준 ViewController를 실행하게 됩니다. 저는 단순히 버튼 기능만을 원하기 때문에 오늘은 탭바 아이템 대신에 버튼으로 대체하는 작업을 해보려고 합니다. 한번 탭바 아이템 대신 버튼으로 대체해 봅시다. 완성 미리 보기 버튼 생성 먼저 탭바 가운데 아이템 대신 사용할 버튼을 만들어 줍시다. 이미지를 생성할 때 Configuration을 사용하면 기호의 크기, 색상, 스타일 등을 설정해 줄..
[TIL #2] 23 / 03 / 17 ~ 23 / 03 / 18 앞서 배운 [Swift/TIL #1] CAShapeLayer, UIBezierPath 내용을 토대로 탭바를 구현해 봅시다. 역시 글을 쓸 땐 중간 정렬이 보기가 좋아요. (나만 그런가...) Frame & Bounds 들어가기 전에 Frame과 Bounds의 차이를 먼저 알아봅시다. 위치 및 크기의 차이가 있는데요. 한번 살펴봅시다. 그림으로 된 설명은 Zedd, 소들이 님이 잘해주셨어요. 🎯 Frame 객체의 Frame 위치는 SuperView의 좌표를 기준으로 상대적인 좌표를 나타낸 것입니다. 특징으로는 Frame을 변경 시 객체의 위치만 바뀌고, 하위 뷰(SubView)는 영향을 받지 않습니다. 다시 말해 객체는 SuperView의 ..
[TIL #1] 23 / 03 / 15 ~ 23 / 03 / 16 커스텀으로 탭바의 모양을 만드는 중에 CAShapeLayer라는 것이 갑자기 튀어나왔습니다. 코드를 복붙해서 적용하면 모양이 바뀌긴 하지만... 사용방법을 한번 알아봅시다. CAShapeLayer를 사용하려면 UIBezierPath를 생성하는 방법도 알아야 하네요... 전부 알아보도록 합시다. ㅠㅠ UIBezierPath 들어가기 앞서 CAShapeLayer는 모양을 그리는 클래스가 아니기 때문에, 도형을 만들기 위해서는 UIBezierPath를 사용해야 합니다. UIBezierPath는 여러 직선 및 곡선을 사용하여 복잡한 형상을 렌더링 할 수 있는 클래스입니다. (커스텀 뷰를 그릴 때 자주 사용 됩니다.) 공식문서 1, 공식문서 2 에..