본문 바로가기

개발/App Developer

IB 없이 하기, UIButton * 네이버 맥부기 카페에서 아이디 '문씨'님의 작성한 글들이 좋아 블로그에 재구성을 한다. * 개념정리에 많은 도움이 될 것 같다. 버튼 넣는 법입니다 - (UIButton *)CreateButton:(NSString *)title type:(UIButtonType)type view:(UIView *)view frame:(CGRect)frame target:(id)target action:(SEL)action { UIButton *button = [[UIButton buttonWithType:type] retain]; button.frame = frame; [button setTitle:title forState:UIControlStateNormal]; [button addTarget:target act.. 더보기
IB 없이 하기, UITableView끝장보기 (2) 그룹과 셀 전 장에 이어 델리게이트를 구현해 보겠습니다. 전 장의 마지막 스샷입니다. 테이블 뷰의 헤더 데이터소스 프로토콜에서 반드시 넣어야 하는 두 함수 먼저 사용해 보겠습니다. - (NSInteger)tableView:(UITableView *)table numberOfRowsInSection:(NSInteger)section; - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath; 대충 이 두개만 구현하면 기본 테이블뷰가 구현됩니다 - (NSInteger)tableView:(UITableView *)table numberOfRowsInSection:(NSInteger)section.. 더보기
IB 없이 하기, UITableView끝장보기 (3) 셀의 구조 전 글까지 그룹과 셀을 구현해봤습니다 이번에 셀의 구조를 다루어 보겠습니다 UITableViewCell은 기본적으로 이미지뷰, 라벨뷰와 커스텀뷰(악세사리뷰)로 되어 있습니다 코딩해보겠습니다 프로젝트에서 리소스에 이미지를 추가합니다 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 셀을 만드는 함수에서 cell.image = [UIImage imageNamed:@"이미지 파일명"]; 이미지뷰를 따로 설정할 필요 없이 이미지만 설정하면 알아서 배치됩니다 라벨뷰의 경우 cell.text = @"test"; 방법으로 문자열을 설정할수 있으며 cell.font = [UIFont s.. 더보기
IB 없이 하기, UITableView끝장보기 (4) 테이블 편집 - 툴바 작성 - 테이블뷰 구현 코드 수정 - NSMutableArray와 테이블뷰의 연동 이번엔 테이블의 편집 기능을 구현해 보겠습니다 테이블뷰에는 간단히 말해서 모드가 있습니다 편집중과 아닌상태, 이 모드를 설정 하는것으로 편집모드와 읽기 모드로 바꿔 가며 사용할수 있습니다 전 글까지 해보셨다면 현재 시뮬레이터 화면에는 하나의 꽉찬 테이블 뷰만 있습니다 * 이 강좌는 어디까지나 테이블뷰의 모든것(?)을 알아보려는 것입니다만 다른 컨트롤이 필요한 관계로 사용해보겠습니다 화면에 테이블만 있어가지곤 테이블뷰의 모드 전환 시킬 버튼 같은게 필요합니다 간단히 셀을 클릭하는걸로 해결볼수도 있습니다만 기왕 만들어 볼거 재대로 만들어 보죠 그래서 테이블뷰 상단에 툴바(UIToolBar)를 구현해 보겠습니다 * 여기.. 더보기
Foundation Kit Foundation Kit은 Cocoa framework의 일부분으로서 Java의 Standard API와 같은 역할을 한다. 즉, Foundation Kit에서 제공되는 class와 method 등을 이용하면 프로그램을 보다 쉽고 편하게 작성할 수 있다. Tip : Xcode에서 작업 중인 코드의 class나 method 등을 "opt + double click" 하면 해당 class 또는 method에 대한 documentation을 볼 수 있다. @ Some Useful Types - NSRange NSRange는 다음과 같이 정의된 구조체이다. typedef struct _NSRange { unsigned int location; unsigned int length; } NSRange; 다음과 같.. 더보기
메소드와 메세지 먼저 다음과 같은 메소드가 있다. - (void)drawImage:(NSImage *)image withFrame:(NSRect)frame inView:(NSView *)view { NSSize size = [image size]; NSRect rect = NSMakeRect(0, 0, size.width, size.height); [view lockFocus]; [image drawInRect:frame fromRect:rect operation:NSCompositeCopy fraction:1.0]; [view unlockFocus]; } - (void)drawImage:(NSImage *)image withFrame:(NSRect)frame inView:(NSView *)view { NSSize si.. 더보기
HIG 번역하다 말았네요 번역기가 구려서 ... 소개 아이폰의 운영 체제는 아이폰과 아이팟 터치에서 실행되는 시스템 소프트웨어이다. 누구든 상관없이 아이폰의 OS와 휴먼 인터페이스 설계 원칙과 지침에 의해 아이폰 애플 리케이션을 개발해야 한다. (이 문서는 많은 도움을 줄 것이다.) 문서는 두가지 파트로 구분된다 1. 아이폰 휴먼 인터페이스 가이드라인 : 개념 : IT와 유형의 소프트웨어를 개발하는 개발자에 대한 아이폰 운영체제 환경을 설명. 기본적인 원리를 다루고 아이폰 인터페이스 설계 및 응용 프로그램을 설명. 디자인의 원리를 이러한 방법에 적용해야 함. - 운영 체제 설명 - 아이폰에 소프트웨어를 개발 및 설계를 위한 방법. - 앱 개발에 다양한 종류의 소프트 웨어를 사용할 수 있는 원칙의 디자인과 아이폰의 운영체제에 대해.. 더보기
IB 없이 하기, UITableView끝장보기 (5) 인덱스 인덱스를 구현해 보겠습니다 테이블 뷰에서 인덱스는 테이블 뷰에 그룹이 많고 셀의 수가 많을 경우 스크롤해서 내려가기 힘들때 쓰는 기능입니다 인덱스는 테이블뷰의 오른쪽에 위치하며 쉽게 찾을수 있도록 도와줍니다 인덱스 하는데 필요한 함수는 다음과 같습니다 - (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView; - (NSInteger)tableView:(UITableView *)tableView sectionForSectionIndexTitle:(NSString *)title atIndex:(NSInteger)index; 사용방법은 간단합니다 sectionIndexTitlesForTableView함수로 사용할 인덱스 리스트를 NSArray형.. 더보기
IB 없이 하기, UITableView끝장보기 (6) 커스텀 셀 기본 UITableViewCell이 아닌 자작 셀을 사용해 보도록 하겠습니다. 우선 커스텀 셀 파일을 만듭니다 - iPhone OS에서 UITableViewCell 형식의 파일을 선택합니다. - 파일이름은 적당히 만들고 ALso creat "파일명.h" 옵션을 체크하여 헤더파일역시 만들어 줍니다. - 헤더파일 입니다. 암것도 없습니다. - 구현 파일 역시 기본 구성.. 막 만든거라 물론 기본만 구현되어 있고 아무것도 없습니다 이렇게 커스텀 셀을 만들어도 기본 셀에 제공되는 세개의 뷰는 여전히 있습니다 (이미지뷰, 라벨뷰, 커스텀뷰(악세사리뷰) ) - 기억해 둡시다. 셀에 데이터를 설정하는 방법으로 두가지가 있습니다 셀을 틀로만 만들고 데이터를 직접 설정하는 방법과 셀에 데이터를 넘기면 셀이 알아서 설정하.. 더보기
UITableView 에 Header, Footer를 넣어보자 참고 링크 : http://translate.google.com/translate?u=http%3A%2F%2Fadeem.me%2Fblog%2F2009%2F05%2F24%2Fiphone-sdk-tutorial-part-4-tips-for-uitableview-design-change-design-add-header-footer-add-background-images-tips%2F&hl=ko&langpair=auto|ko&tbb=1&ie=utf-8 테이블에는 여러 섹션이 있을 수 있다. 각 섹션은 헤더와 푸터를 가질 수 있다. 위 링크를 참고하여 UITableView의 그룹 스타일필드의 디자인을 변경할지 공부해 보자 헤더와 푸터의 활용으로 위와 같은 배경이미지 구성이 가능하다. 이쁘지 않은가.. 1. 일단 .. 더보기