2010-05-13 3 views
1

내 설정 화면에 UITableView를 사용하고 싶습니다. 그래서 내 설정보기가 사과처럼 보이고, 그룹 테이블보기가 있고, UI 요소를 사용하여 설정을 변경할 수 있습니다.iPhone : 설정 용 맞춤 셀이있는 UITableView

그래서 셀이 배열에서로드 된 것처럼 보이지 않지만 각 셀은 사용자 정의 된 것처럼 보입니다.

어떻게해야합니까?

답변

2

처음에는 tableViewStyle 속성을 UITableViewStyleGrouped으로 설정하십시오. 그런 다음 간단한 배열 대신 2D 배열에 원하는 그룹을 제공하도록 데이터 소스를 변경하십시오. 사실 아주 간단합니다.

원하는 UIControl 유형으로 행을 사용자 정의해야합니다. 이미 사용자가 이미 수행 중이라고 가정합니다.

편집 : 당신이 셀을 만들 때

이 행에 컨트롤을 추가하려면, 그것을 만들 수 있습니다.

... 
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
[button setFrame:CGRectMake(0.0f, 5.0f, 30.0f, 30.0f)]; 

[button setTitle:@"Click Me!" forState:UIControlStateNormal]; 
[button addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside]; 
[cell addSubview:button]; 
... 
+0

네, 이미 그룹화하도록 설정했습니다. 나는 각 셀이 다른 레이아웃을 가지므로 배열을 어떻게 사용할지 혼란 스럽다. –

+0

내가 편집 한 것을 내가 쓴 찾고있는 항목으로 변경했습니다. – psychotik

0

배열 없이도 작업을 수행 할 수 있습니다. 다음 방법을 사용하십시오 :

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
-(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section 
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 

그런 다음 스위치 방법을 사용하여 모든 행과 섹션을 구문 분석 할 수 있습니다. 상단에있는 메소드의 헤더에있는 두 줄을 사용하면 조금 짧게 할 수 있습니다.

NSUInteger row = [indexPath row]; 
NSUInteger section = [indexPath section]; 

수동 tableviews는 오류가 발생하기 쉽습니다.

건배 Simon