목록Swift (89)
BOID
안녕하세요, HoonIOS입니다. :) 공부했던 책을 다시 읽고 있는데 새롭고 재밌게 느낀 부분이 있어서 공부 겸 포스팅을 하려고 이렇게 포스팅하게 되었습니다. ( 봐도 봐도 놀랍고 새로운 swift 언어....와우.....ㅠㅠ ) 커스텀 버튼 커스텀 버튼이란 일반 기본 라이브러리에서 제공하는 버튼을 새롭게 개발자가 원하는 스타일로 만드는 건데요, 커스텀 버튼을 구현하기 위해서는 UIButton을 상속받아야 합니다. 또 커스텀 버튼을 구현할때는 이니셜라이저에 따라서 스토리보드로 설정을 할지, 아니면 커스텀 코드를 통해 코드로 작성을 할지 구분이 되게 됩니다. 제가 바로 이부분에서 재밌고 새롭다고 느껴서 한번 구현을 해보려고 합니다. 우선은 스토리보드를 이용한 커스텀 버튼을 한번 구현해보겠습니다. 스토리보..
안녕하세요, HoonIOS입니다. 요즘 커스텀에 대해서 다시 한번 공부를 하고 있는데요, 스토리보드 없이 커스텀으로만 띄우는 것을 포스팅하면 좋겠다는 생각을 들어 블로그 작성을 하게 되었습니다. :) 코드로 탭바 뷰 컨트롤러 구현하기 스토리보드 없이 순수하게 코드로만 탭 바 뷰 컨트롤러를 구현해보려고 합니다. ※ 구현 내용 첫 번째, 두 번째, 세 번째 탭 뷰 컨트롤러에 label을 추가해 몇 번째 뷰 컨트롤러 인지 표현해주고 탭 바 아이템에 이미지 넣어주고 탭의 뷰 컨트롤러 아무거나 탭을 했을 때 탭 바가 사라지게 구현을 해보겠습니다. :) 아래와 같이 보시면 편하겠습니다. 탭 바 뷰 컨트롤러를 생성해주는 작업을 하겠습니다. 1. SceneDelegate에 탭 바 뷰 컨트롤러 생성해주기 간단하게 Sce..
안녕하세요, HoonIOS입니다. 이번 포스팅은 Custom으로 코딩을 할 때 객체의 위치를 잡아주기 위한 객체로 CGRect에 대해 포스팅을 하려고 합니다. 뷰의 위치 잡기 뷰의 위치를 결정하는 방법은 기준점에 의해서 위치가 결정되게 됩니다. 그럼 뷰의 기준점이 어딘가 많이 궁금해 하실수 있는데 뷰의 기준점은 왼쪽의 꼭지점을 말하는 것입니다. 이해가 안 되시면 아래 그림을 통해 확인해보시기 바랍니다. 즉 위의 모서리에 있는 뷰의 기준점을 iOS에서는 (0,0)으로 하고 꼭짓점을 기준으로 아래로 내려갈수록 Y축, 오른쪽으로 이동할수록 X축이 증가를 하는 방식입니다. 뷰의 위치를 잡는 것은 뷰의 속성인 frame, bounds에 CGRect을 넣어줌으로써 위치를 잡는 것입니다. ※frame, bounds는..
안녕하세요 HoonIOS입니다. :) 저번에는 스크롤 뷰에 대한 내용과 간단한 구상을 해봤는데요, 이번 포스팅에서는 이 구상한 것을 이용해서 델리게이트 메서드에 대해 알아보려고 합니다. :) 스크롤 뷰의 델리게이트 메서드 모음 애플 공식문서에 나와있는 UIScrollViewDelegate에 대해 의미를 한번 알아봐야겠죠? ㅎㅎㅎ 애플 공식문서에서 말하나는 스크롤 뷰 델리게이트는 스크롤 뷰 클래스의 확대, 축소, 스크롤링, 스크롤링 애니메이션 같은 것에 메시지 반응을 한다고 나와있습니다. 그럼 어떤 메서드들이 있는지 한번 확인해보겠습니다. 스크롤 뷰 델리게이트는 크게 2가지로 나뉩니다. 스크롤할때 반응하는 메서드 줌 할 때 반응하는 메서드 우선 스크롤할 때 반응하는 메서드들 아래에 있는 것들을 살 펴보겠습..
안녕하세요, HoonIOS입니다. :) 이번에는 스크롤 뷰 개념부터 델리게이트 패턴까지 한번 알아보기 위해서 공부를 하고 포스팅을 하게 되었습니다. :) ScrollView란? 애플 공식문서에서 말하는 UIScrollView는 포함된 뷰의 스크롤링하고 줌잉을 허락해주는 뷰라고 합니다. 스크롤 뷰는 UIKit프레임워크의 요소로 UITableView, UITextView의 부모 클래스이기도 합니다. 이 말은 즉 테이블 뷰가 스크롤이 가능했던 이유는 UIScrollView의 자식 클래스여서 가능했던 것이겠죠? 스크롤 뷰가 움직이는 방식은 손가락의 스크롤 움직임을 추적해서 그에 따라 원점을 조절하는 방식입니다. 이뿐만 아니라 스크롤 뷰는 콘텐츠의 확대 및 축소 이동을 처리합니다. 사용자가 pitch - in 또..
안녕하세요, HoonIOS입니다. :) 저번 포스팅에는 WKWebView의 델리게이트 메서드에 대해서 포스팅을 해봤습니다. 이번에는 이 웹뷰의 델리게이트 메서드를 통해 웹뷰를 한번 띄어 보겠습니다. WKWebView 구현 ※ 디자인 전체적인 형태는 UINavigationController에서 버튼을 두 개 만들어주겠습니다. 한 개는 github사이트로 가는 버튼 다른 하나는 블로그로 가는 버튼으로 구현을 하겠습니다. 둘 다 버튼으로 웹뷰를 띄울 때는 WKWebView을 이용할 것이고 블로그 웹뷰에서 만약에 url이 잘못되어 있거나 네트워크가 오류가 발생했을 때는 url을 다시 입력하라는 알림 창을 구현해주고 로딩 동안에는 인디케이터 뷰를 띄어주겠습니다. github의 웹뷰에서 url, 네트워크오류가 발생..
안녕하세요, HoonIOS입니다.:) 이번에는 카카오톡 메시지로 url링크가 오고 이것을 누르게 되면 웹페이지가 떠 사용자에게 웹 페이지를 보여주게 되는데요 이럴 때 웹뷰 객체를 사용해서 웹페이지를 뜨게 해 줍니다. 따라서 이번에는 이 웹페이지를 뜨게 도와주는 웹뷰에 대해 포스팅하려고 합니다. :) 웹뷰란? API를 통해서 받은 URL을 호출을 해보면 들어오는 응답 값은 JSON, XML 같은 데이터 포맷이 아니라 HTML로 웹페이지가 들어오게 됩니다. 만약 이렇게 데이터가 들어오게 되면 파싱을 해줄 수가 없습니다. 그래서 이런 HTML데이터를 처리해서 웹페이지로 보여주고 하는 게 웹뷰입니다. 웹브라우저를 구현하는 방법은 4가지가 있습니다. 사파리 앱 호출 UIWebView WKWebView SFSafa..
안녕하세요, HoonIOS입니다. :) 이번에는 테이블 뷰 컨트롤러를 만들지 않고 일반 뷰 컨트롤러에서 테이블 뷰를 구현해 주겠습니다. :) 처음에는 테이블 뷰컨트롤러를 쓰면 되지 굳이 테이블 뷰로 구현해줘야 되나? 그런 생각을 했었는데요 테이블 뷰 컨트롤러는 테이블 뷰를 만들 때 처리해야 되는 많은 것이 구현되어 있어 편안하게 사용을 했지만 단점이 두가지 있습니다. 루트 뷰 자체가 테이블 뷰로 설정되어 있어 테이블 뷰 위나 아래에 컬랙션 뷰를 넣거나 UI를 추가해주고 싶은데 이런 부분에서 제약이 있습니다. 즉 테이블 뷰 컨트롤러 위아래에 뷰를 추가하는 것은 되지만 여러 요구사항을 받아들이기는 힘든 부분이 있습니다. 그럼 간단하게 기본 뷰 컨트롤러 위해 테이블 뷰를 구현해보겠습니다. 테이블 뷰 구현하기 ..