본문 바로가기

분류 전체보기380

autolayout - constraints 정리 (2) autolayout - constraints 정리 (2) 1. constraints 가로 길이와, 높이만 지정 뷰의 높이와 넓이만 지정을 했을때 아래와 같이 "뷰의 위치를 알 수 없다" 고 오류가 난다. 즉 뷰의 x 좌표와, y좌표를 지정해 주어야 한다. 아래 처럼 크기만 저징하고 위치를 지정안했을때 아이폰 기종에 따라 뷰가 밖으로 나갈 수 있다. 뷰는 크기를 알 수 없거나, 위치를 알 수 없을때 오류를 출력한다. constraints Top과 constraints Leading 을 각각 50씩 줘보자. 참고로 constraints Top 50과 constraints Leading 50은 뷰의 x좌표를 부모뷰 top에서 50만큼 떨어진 곳에 위치시키고, 뷰의 y좌표를 부모뷰 left에서 50만큼 떨어진 .. 2020. 12. 18.
autolayout - constraints 정리 (1) autolayout - constraints 정리 xcode storyboard에는 constraints라는 개념이 있다. 영어로 번역하면 제약이라는 뜻인데, 번역을 해도 이해가 잘안간다. 쉽게 말하면 storyboard에서 view의 간격을 자동으로 조정해 주는 역할을 한다. 1.문제상황 위 그림처럼 뷰를 제약조건없이 그리면 아이폰 사이즈에 따라서 뷰가 화면 밖으로 나갈 수 있다. 그래서 아이폰 전체 기종의 크기를 지원할려면 autolayout의 constraints 는 필수로 지정해야 한다. 2.주의점 constraints을 지정할 때 주의점이 있다. 뷰의 높이나 넓이 등 크기가 명확해야 한다는 것이다. 가로 높이가 명확해야 하고, 세로 높이가 명확해야 한다. 또는 x 좌표나 y좌표가 명확해야 한다... 2020. 12. 18.
ios HTTP POST 방식 요청 - json 타입요청 ios POST 방식 요청 - json 타입요청 이번포스팅에서는 HTTP POST 방식으로 요청하는 방법에 대해서 알아본다. HTTP 요청 방법에 대해서는 지난 포스팅에서도 다루었으니 참고하면 도움이 될것 같다. IOS NSURLSession으로 Get 요청 Post 요청하기 - 개념 IOS NSURLSession으로 Get 요청 Post 요청 - 구현 1.화면 생성 스토리 보드에서 화면을 아래와 같이 생성해준다. 요청은 모두 HTTP POST 방식으로 요청을 할 건데, 한번은 application/x-www-form-urlencoded 타입으로 요청하고 한번은 application/json 타입으로 요청한다. 2.변수선언 스토리 보드에서 만든 textfield, textView 객체를 화면과 이어준다... 2020. 12. 17.
ios coredata로 게시판 만들기 - 로그보기 ios coredata로 게시판 만들기 - 로그보기 coredata 예제 마지막 부분인 로그페이지를 구현해보자. 테이블 뷰에서 데이터를 추가하거나 삭제할때 로그 데이터가 생성된다. 로그데이터는 테이블 뷰 셀의 악세서리를 클릭하면 상세페이지로 이동되면서 로그기록이 출력된다. 상세페이지도 마찬가지로 테이블 뷰로 구성되어 있다. 1.테이블뷰 생성 테이블 뷰를 생성한후 아래 그림처럼 segue로 이어준다. 그리고 테이블 뷰 기본 구성을 해준다. 테이블 뷰 기본 구성은 이 포스팅(ios TableView 예제)을 참고하자. 2.LogVC 컨트롤러 생성 위에서 만든 테이블 뷰와 매핑시켜줄 UIViewController를 상속받는 Controller를 하나 만들어준다. 그리고 위 story board에서 만든 테이블.. 2020. 12. 17.
ios coredata로 게시판 만들기 - 수정 ios coredata로 게시판 만들기 - 수정 저번포스팅에 이어서 이번에는 테이블 뷰 셀을 눌렀을 때 수정할 수 있도록, 팝업창이 뜨고, 수정내용을 입력하고 저장하면 수정내용이 저장되는 부분을 구현해보자. 1.테이블 셀 클릭이벤트 테이블뷰 셀을 클릭했을 때, 기존 데이터가 팝업창으로 뜨고, 내용을 수정해 저장하면 context에 저장한다. 일단 기존의 데이터를 팝업창으로 먼저 띄워보자. 셀이 클릭되었을때 호출되는 메소드는 didSelectRowAtIndexPath 메소드 이다. 전체 코드는 아래와 같다. - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ //1.수정될 Board 객체 Bo.. 2020. 12. 16.
ios coredata로 게시판 만들기 - 삭제 ios coredata로 게시판 만들기 - 삭제 지난 포스팅에 이어서 이번에는 core data의 데이터 삭제를 구현해 보자. 테이블 뷰에서 cell을 좌로 밀면 delete 버튼이 우측에 나타나고, delete 버튼을 클릭하면 데이터가 삭제되는 기능을 구현해 보자. 1.cell editRow 설정 아래 메소드 canEditRowAtIndexPath 의 리턴값을 YES로 설정한다. - (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath{ return YES; } 2.삭제 델리게이트 메소드 구현 테이블 뷰에서 삭제 버튼을 눌렀을때 editingStyle값이 UITableViewCellEditingSty.. 2020. 12. 16.
ios coredata로 게시판 만들기 - 저장 ios coredata로 게시판 만들기 - 저장 지난 포스팅에 이어서 이번에는 네비게이션 헤더 부분에 bar button item을 만들어서 클릭하면 팝업 창이 뜨고, 팝업창에 게시글의 제목과 내용을 작성해서 저장 할 수 있도록 진행을 해보자. 1.bar button 생성 ListVC 컨트롤러 우측 상단에 bar button item을 추가하고, ListVC.m과 연결시켜 준다. 2. UIAlertController 팝업 띄우기 위의 add 버튼을 누르면 아래 코드가 작동된다. 아래 코드는 제목과 게시 내용을 입력할 수 있는 팝업창이 뜨고, 입력을 하고 저장을 누르면 core data에 저장 되고, 다시 coredata에서 데이터를 조회하는 로직이다. - (IBAction)addAction:(id)sen.. 2020. 12. 16.
ios coredata로 게시판 만들기 - 조회 ios coredata로 게시판 만들기 이번 포스팅 부터 몇 차례 coredata를 이용해서 간단한 게시판 예제를 만들어 볼려고한다. 2개의 테이블을 이용해서 글을 작성하고, 로그를 기록하는 기능이 담겨있는 간단한 예제이다. 이번 시간에는 테이블을 생성하고 Board 테이블에서 제목과 내용을 조회해서 cell에 뿌려주는 부분까지 진행해본다. 1.coredata 파일로 가서 테이블을 생성해주고, 관계를 만들어 준다. Board 테이블은 아래와 같은 3개의 속성이 있고 로그 테이블과는 일대다의 관계를 맺고 있다. 로그 테이블은 아래와 같은 2가지 속성이 있다. 그리고 Board 테이블과는 다대일의 관계를 맺는다. 2.Navigation Controller 기반의 TableView 만들기 아래 사진 처럼 Na.. 2020. 12. 15.
iOS Photos Framework로 아이폰 사진앱 만들기 iOS Photos Framework로 사진앱 만들기 지난포스팅에서 iOS Photos Framework 개념에 대해서 정리를 해보는 시간을 가졌다. 이번포스팅에서는 iOS Photos Framework 개념을 가지고 간단한 사진앱을 만들어 보도록 하자. 먼저 기본 테이블 뷰를 셋팅했다는 가정하에 진행하도록 하겠다. ios 테이블 뷰 내용과 샘플 코드는 이곳에서 다운로드 할 수 있다. 화면구성 아래 사진을 보면 중간에 tableview가 보인다. tableview 셀안에 imageView와 label을 넣어주었다. photoframework를 이용해서 사진을 뿌려 줄 예정이다. 그리고 셀을 클릭하면 우측에 DetailViewController 가 열리고 이미지가 크게 보이도록 구현해보자. Custom t.. 2020. 12. 15.