본문 바로가기

Developer/iOS, Swift27

[Swift] Tab Bar Controller 슬라이드 애니메이션 효과 적용하기 이번 포스팅에서는 iOS에서 자주 사용되는 탭바 컨트롤러의 슬라이드 애니메이션 효과에 대해 알아보겠습니다. 슬라이드 애니메이션 효과는, 유저가 좌우로 Swipe Gesture 인풋을 주면, 자연스럽게 슬라이딩되면서 다음 탭 또는 이전 탭으로 화면이 전환되는 것을 말합니다. 만약 이 효과를 적용하지 않으면, 좌우로 스와이프를 해도 아무 것도 일어나지 않고, 탭바를 직접 클릭해서 화면을 전환해야겠죠? 생각보다 코드는 단순합니다. 스위프트에서 Swipe Gesture을 인식해서, 다음 화면으로 넘겨주는 원리인데요. 다음 순서로 진행합니다. Tab Bar Controller에 연결되는 swift 파일을 생성합니다. (탭바컨트롤러를 상속) 해당 스위프트 파일 안에 아래 코드를 입력합니다. 1 2 3 4 5 6 7.. 2019. 12. 7.
[Swift] 일반 View, ImageView, Label 액션 이벤트 생성하기 스위프트로 코드를 짜다보면 저는 보통 버튼으로 클릭이벤트를 구현합니다. 자동으로 스토리보드에서 Action 기능을 제공해주기 때문에 코드 짜기가 한결 수월하기 때문인데요. 경우에 따라 일반 뷰나 이미지뷰, 레이블 등으로 버튼을 구현해야 할 때가 있습니다. 그럴 경우에 Action을 어떻게 표현하는지 알아보겠습니다. 스토리보드에서 원하는 뷰 객체(레이블, 이미지뷰 등)에 대한 Outlet을 만듭니다. 아래 코드처럼 탭제스쳐 리스너를 만듭니다. (didLoad등에 넣어주면 됩니다.) // viewMap: View 객체 let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(viewMapTapped)) viewMap.a.. 2019. 11. 20.
[Swift] 네이버 장소검색(search Place) API 사용하기 이번 포스팅에서는 네이버 맵 API 중에서도 search Place를 이용하는 법에 대해 알아보겠습니다. 현재 운영하고 있는 앱에서 사용하고 있는 네이버 api 중 지도검색과 블로그 검색이 있는데요. 지도 검색과 블로그 검색은 이용하는 방법이 유사합니다. 예전에 안드로이드에서 이용하는 방법에 대해서도 올렸는데, 이번에 스위프트를 이용하여 iOS에도 적용하게 되었습니다. 먼저 API참고사이트는 아래와 같습니다.https://apidocs.ncloud.com/ko/ai-naver/maps\_search\_places/ 불러오는 중입니다... 네이버 지도를 사용하기 위해 엔클라우드에 접속하여 키값을 할당받은 후 아래 메소드를 실행하시면 됩니다. 코드는 보시다시피, alamofire와 swiftyJson을 이용.. 2019. 11. 17.
[Swift] Protocol과 delegate를 이용하여 뷰 간 데이터 전달하기 지난 포스팅에서는 뷰 이동 시 데이터 전달에 있어서, 직접 스토리보드의 뷰 id로 접근하여 값을 넘기는 방법에 대해 알아보았는데요. 이번에는 프로토콜과 delegate를 이용하는 방법에 대해 알아보겠습니다. 상황은 이렇습니다. 첫번째 뷰에서 버튼 클릭 시 두번째 뷰로 넘어가고, 두번째 뷰의 레이블에 첫번째 버튼 텍스트가 입혀집니다. 두번째 뷰의 버튼을 클릭 시, 두번째 뷰는 dismiss되고, 첫번째 뷰로 두번째 뷰 버튼의 텍스트를 입힙니다. 즉, 주요는 두 뷰 간 이동 시 데이터를 전달한다는 점입니다. 지난 포스팅에서 전자에 대한 부분을 설명했기 때문에, 이번에는 dismiss시 이동 방법에 대해 알아보겠습니다. 먼저 스토리보드와, 2개의 뷰에 대한 스위프트 파일을 아래와 같이 셋팅합니다. FirstV.. 2019. 11. 10.
[Swift] ViewController 간 화면 전환 및 데이터 주고받기 (Programmatically) 지난번에 ViewController간 뷰와 데이터를 이동하는 방법 중 segue를 이용하는 것에 대해 포스팅했었는데요. 오늘은 스토리보드에서 각 뷰의 id값만 지정하고, 그 외 모든 것을 programmatically 하게 하는 방식에 대해 알아보겠습니다. 현업 개발자가 아니라 실제 협업 시 어떤 방식이 더 많이 쓰이는 지는 잘 모르겠습니다만, 개인적으로는 후자의 방식이 더 편리한 것 같았습니다. 작업 순서 스토리보드에서 2개의 뷰 생성 후 ID값 부여 각각의 뷰에 버튼과 레이블 생성 (데이터 이동 확인용) 초기 뷰에서 코딩 먼저, 아래 그림과 같이 스토리보드에서 2개의 뷰컨트롤러를 각각 생성하고 id값에 원하는 값을 지정합니다. 동작 방식은 이렇습니다. 초기 뷰에서 버튼을 누르면, 다음 뷰로 넘어가고,.. 2019. 11. 10.
[iOS] 탭바 컨트롤러의 이미지 사이즈/색상은? 지난 포스팅에 이어 탭바 컨트롤러를 좀 더 살펴보고자 합니다. Attribute Inpector을 통해 원하는 이미지로 탭 아이콘을 바꿔줄 수 있는데, 사이즈를 조절하는 기능이 조금 답답하게 되어있었습니다. 이미지 사이즈 조절? 찾아본 바로는, 이미지 사이즈를 하나로 통일해서 진행하는 게 가장 좋고, 그 후에 size inspector에서 상하좌우를 각각 컨트롤하면 된다고 합니다. 자세한 사항은 애플에서 제공하는 커스텀 아이콘을 참조. 이미지 사이즈에 대한 내용도 상세히 나와있습니다. 이미지 색상? 기본 색상은 애플에서 많이 사용하는 파란색으로 되어있습니다. 저는 검은색으로 바꾸고 싶었는데요. AppDelegate.swift 파일에서 공통된 사항들에 대한 수정이 가능합니다. application 메소드를.. 2019. 8. 25.