[iOS 앱개발 - Swift] 테이블뷰에 동적으로 셀 추가하기 지난번 포스팅에 만들어둔 테이블 뷰에 실행중에 버튼을 누르는 등의 액션으로 테이블 뷰에 셀을 추가하는 방법을 알아봅시다! 크게 어렵지는 않다고 생각이 드네욤! 일단 새로운 셀을 추가시키는 버튼을 스토리보드를 통해 배치해줍시다. 버튼을 끌고 테이블 뷰 위에 올려두면 셀처럼 테이블뷰의 요소로 포함되게 됩니다. 또, TextField를 하나 배치해서, 여기에 입력된 데이터를 새로 생성되는 셀의 타이틀로 넣어주도록 합시다! 이제 이 버튼을 누르면 어떤 액션을 취할지를 View Controller에 코드로 작성해줍시다. 우선 추가될 셀이 앞서 작성했던 0번, 1번 섹션 말고 2번 섹션에 포함되도록 앞에 작성했던 코드에서 섹션 개수를 수정해줬습니다. ..
앞에서 공부했던 내용들을 이용해서 TableView의 구성을 직접 한 번 만들어봅시다! 이번의 목표는 아래 이미지의 테이블 뷰예요. 새 프로젝트를 하나 만들어서, StoryBoard에서 테이블 뷰를 하나 만들어주고, Table View, Table View Cell 을 올려줬어요. 그 다음에 Table View를 control 키와 함께 클릭해주면 보여지는 Outlet 창에서 DataSource와 Delegate를 View Controller와 연결해줍니다. 이 뷰 컨트롤러가 해당 테이블 뷰의 외형과 설정을 담당하겠다는 뜻이예요. 물론 이 내용도 코드를 통해 작성해줄 수 있습니다. 그 다음, Outlet으로 테이블 뷰를 코드와 연결해주고, 테이블 뷰에 담고싶은 데이터를 작성해줬어요. (데이터는 데이터소스..
[iOS 앱 개발 - Swift] 테이블 뷰의 데이터소스와 델리게이트 Table View 테이블 뷰는 그 자체가 UITableView 클래스의 인스턴스이죠. 이 테이블 뷰를 마음에 드는 형태로 만들기 위해 행의 높이, 헤더 등의 여러 설정을 정해줄 수 있습니다. 또는 현재 선택한, 또는 특정한 행이나 셀에 접근할 수 있도록 합니다. UITalbeView 의 메서드를 호출해서 선택지를 수정하거나, 행이나 섹션의 삽입/삭제를 실행할 수도 있습니다. UITableView 클래스는 UIScrollView 클래스를 상속하고 있어서, 화면보다 긴 내용을 '세로로만 가능한 스크롤'을 통해 확인할 수도 있습니다. Table View Controller UITableViewController 클래스는 표준 테이블 뷰의 ..
[iOS 앱 개발 - Swift] Table View : 테이블 뷰 테이블뷰는 스크롤을 올리고 내리는 액션으로 많은 양의 정보를 보여줄 수 있는 형태의 UI 입니다. 일렬로 쭉 세워놓은 정보들이라 볼 수 있겠네요. 주로 수직방향으로만 스크롤이 가능합니다. 이 행들은 섹선 (Section) 이라는 단위로 묶을 수 있고, 헤더와 푸터를 통해 섹션의 위아래에 추가로 정보를 담을 수도 있습니다. 테이블 뷰의 형태 테이블 뷰는 크게 두가지 형태로 구분이 가능합니다. 모든 행이 이어져있는 일반 테이블 뷰 (Plain TableView), 중간중간에 공백으로 구분되어있는 *그룹 테이블 뷰 *(Group TableView) 로 나눌 수 있습니다. 1. 일반 테이블 뷰 여러개의 섹션을 가질 수 있고, 각 섹션은 헤더나 ..
https://www.edwith.org/boostcourse-ios/notices/12898 에듀케이션위드 : edwith 에드위드(edwith)는 네이버(NAVER)와 커넥트재단(CONNECT)이 제공하는 온라인 강좌(MOOC : Massive Online Open Course) 교육 플랫폼입니다. 에듀케이션위드(education with) 에드위드(edwith)로 분야별 명품 강좌를 무료(Free Course)로 수강하세요. www.edwith.org edwith의 부스트코스 iOS 프로그래밍 강좌를 수강하면서 느꼈던 점입니다. 코드리뷰를 제외한 모든 강의(+자료)는 무료로 제공되고, 네이버 아이디로도 강의를 들을 수 있는 만큼 접근성이 좋아서 iOS 앱개발, 아이폰 앱개발을 공부해보고싶은 초보분이..
이번에 공부한 내용은 아이폰과 아이패드에서 터치로 할 수 있는 다양한 동작들을 인식시키는 방법인 Gesture Recognizer입니다. 한 손가락 터치, 두 손가락 터치, 꼬집기(핀치), 회전, 스와이프 등의 동작에 대해 인식시키는 여러가지 기능이 구현되어 준비되어있고, 우리가 할 일은 이걸 사용하는 방법을 알고 적재적소에 이용하는 것이죠! 그게 개발자가 하는 일이죠 ㅋㅋㅋ 이 내용을 공부하면 우리가 흔히 "자연스럽고 익숙하다"라고 말하는 좋은 사용자 경험을 만들 수 있습니다. 모달 화면 중에 백그라운드를 터치하는 것으로도 dismiss 시킬 수 있다던지, 스와이프 동작으로 네비게이션 컨트롤러에서 뒤로 돌아갈 수 있다던지 등의 기능을 추가할 수 있어요. 이 부분에 대해 공부해두는건 꽤나 유용하고 잘 만..
처음 보는 Target-Action 디자인 패턴을 공부해봤습니다. 물론 잘 사용하려면 어렵겠지만, 그 내용 자체는 크게 어렵지 않은 것 같네요. 한 객체에 target을 연결해두고, 지정한 Event가 발생하면 타겟이 특정한 액션을 취한다는 게 요지인 듯 하네요. 아래에서 예시로 쭉 설명해볼게요! 타겟-액션 말 그대로, 타겟을 정하고 액션을 취하는 방법입니다. ㅋㅋㅋ 원하는 객체에서 어떤 Event가 발생했을 때, 누가 무엇을 수행할지 ( 무엇을 타겟으로 하고, 어떤 액션을 취할지 )를 미리 등록을 해두면 해당 Event가 발생할 때 마다 타겟에게 메세지를 전달해서 액션을 취하게 하는 방법입니다. 위 예시의 코드를 보면 dataPicker에 타겟과 액션을 등록하는데, UIControl에서 값이 바뀔때마다..
Singleton은 유니티에서 게임개발을 할 때 Manager를 만들면서 정말 많이 활용했던, 거의 제가 알고있는 유일한 그리고 매우 유용한 디자인 패턴입니다. 진짜 쉬워서 간단하게 짚고 예시를 보여주면 다들 이해할 수 있을 거예요 ㅋㅋㅋ 싱글톤이란? 간단하게 말하면, 클래스의 인스턴스가 딱 하나만 존재할 때 이 인스턴스로의 접근을 쉽게 할 수 있도록 만들어주는 방법입니다. 클래스를 선언하면서, 그 클래스에서 static으로 인스턴스를 하나 만들어주면 됩니다. 보통 이 인스턴스의 이름을 shared라는 네이밍을 많이 합니다. (저는 C#의 싱글톤에서는 instance로 주로 썼었어요) 이렇게 만들어주면, 다른 클래스나 인스턴스에서 단 하나뿐인 이 인스턴스로 접근할 때 인자나 다른 방법으로 전달할 필요 없..
Delegate에 대해 지난 포스팅에서 공부를 해봤는데, 처음에는 그 개념이 어려웠었는데 막상 살펴보니 그렇게 어려운 것 같지도 않은 것 같네요? ㅋㅋㅋ 이번에는 Delegate를 이용해서 사진을 고르는 앱을 하나 구성해볼거예요. 매우매우 간단하게, 델리게이트의 사용만 한번 짚고 넘어가는 식으로 해봅시다! 이 예제는 부스트코스 iOS 개발 강의의 Delegation Design Pattern에 나오는 예제입니다. 끝까지 무료강의에 네이버아이디로도 이용할 수 있으니 관심이 있다면 한번 확인해보세요! 사진 고르는 앱 (예시) 만들기 시작! 1. 화면 구성 일단 스토리보드에서 화면을 다음처럼 만들어줍니다. ImageView는 사진을 보여주는 역할을 할 것이고, 버튼은 누르면 사진을 고를 수 있는 창을 올려주는..
오늘은 새로운 뷰 컨트롤러 (새로운 화면)을 띄우는 방법을 공부해봤습니다. 원래는 간단하게 스토리보드(인터페이스빌더)에서 control 키를 누른채로 뷰 컨트롤러에서 드래그하여 이어주는 방법을 사용했었는데, 생각보다 좀 더 다양한 방법과 기능이 있는걸 알게되었네요. 해당 방법이 사용된 예시를 써봤던 앱들 중에서 떠올려보면서 공부를 하니 크게 거부감없이 잘 읽히는 내용들이였습니다. [iOS 앱 개발 - Swift] 모달이 뭘까? ( Modal ) 모달이란? 모달은 간단하게 말하면 사용자가 보고있던 화면 위에 다른 화면을 띄워서 시선을 끌게 만드는 방식이예요. 취소버튼, 확인버튼 등을 눌러야 다시 화면을 내리고 원래 보던 화면에 접근할 수 있기 때문에 모달에는 흐름을 이어지는 컨텐츠를 담기보다는 흐름이 끊어..