테이블 뷰 만들기로 아이폰 프로그래밍 공부를 시작한지 이틀.
드디어 커스텀 셀에 성공했습니다.

사실 커스텀은 거의 바로 되었지만, 
셀 크기 조절이 되지 않아, 그것에만 하루가 넘게 걸렸지요.

어찌되었든, 1단계 목표를 달성하였군요.

- 테이블 뷰 만들기 -
- 테이블 뷰, 테이블 뷰 셀 커스텀 하기 -
- 파싱해온 내용 테이블 뷰에 띄우기 -
- 파싱해온 내용 길이(크기)에 맞추어 셀 높이(height) 조절하기

여기까지 입니다. 아래의 이미지는 결과적으로 보게 될 화면입니다.
아직 이미지는 추가하지 않았습니다.





오늘 스터디 내용의 키는 "델리게이트"와 "데이터소스"였습니다.
그리고 더 중요한 file's owner.

델리게이트는 코드가 UI를 조작할 수 있는 대리자가 되도록 지정해 주는 것이고,
데이터소스는 코드가 델리게이트가 되어 UI를 조작할 때 사용되는 데이터입니다.

xib(nib)파일은 ?.m / ?.h 두개의 파일과 1:1로 맵핑됩니다.
이때, xib의 file's owner는 정말 "주인"처럼 이들을 관리해주는 역할을 해 줍니다.
근본없는 자신감으로 아무것도 없이 아이폰 공부를 시작해 테이블 뷰를 찍어내려던 저는,
델리게이트를 테이블 뷰에 지정해버렸었고, 이로 인해 셀이 제대로 처리되지 않았었죠.
어찌되었는 이런 델리게이트와 데이터소스의 처리를 끝내고,
이미지까지 불러들여서 화면에 찍고 난 지금의 화면은 이렇게 바뀌었습니다.







image url을 UIImage로 바꿔서 셀에 넣는 코드


 NSURL *imageUrl = [NSURL URLWithString:url];

 NSData *data = [NSData dataWithContentsOfURL:imageUrl];

 UIImage *image = [[UIImage allocinitWithData:data];  


 [cell.userImage setFrame:CGRectMake(7.0f, 7.0f, 35.0f, 35.0f)];

 cell.userImage.image = image;




중요한 것 - 델리게이트와 데이터소스

 @interface TweetList : UITableViewController <UITableViewDelegate, UITableViewDataSource> 

 {

NSArray *tweetArray;

 }


 - (id) initWithTweetArray:(NSArray *)result;


 @property (nonatomic, retain) NSArray *tweetArray;


 @end 
헤더 파일엔 이런식으로 항상 지시해주는 문장이 있어야 합니다.



그리고 역시 중요한 xib에서 테이블뷰에 대한 델리게이트(데이터소스 역시)를 

File's Owner와 연결해 주는것!























- ViewController.m 에서 데이터(셀의 각 UI Object에 들어갈) 셋팅하기

- 새로운 ViewController

- TableView의 델리게이트와 데이터소스

- 셀의 UI구성하기

- TableView code에서 각 셀별 데이터 셋팅하기

  (method들을 override해서 여러 설정들 해주기)


Posted by croute

댓글을 달아 주세요

  1. BlogIcon 초보자 2013.01.09 16:24 신고  댓글주소  수정/삭제  댓글쓰기

    보통 쇼핑몰에서
    상점목록에서 싱점을 클릭하면 상점의 상품들이 나옵니다.
    상품목록이 보여질때 격자형식으로 보여집니다.
    1
    2
    3
    4

    1 | 2
    3 | 4

    으로 나오게 하려면 어떻게 하면 될까요?
    참고 질문 : http://cafe.naver.com/mcbugi/251285