나는 다음 스크린 샷과 같은 세 가지의 TableView와의 ViewController이는 :jQuery과 잘못된 레이아웃
CGFloat x, y, w, h;
x = 10.0f;
y = 154.0f;
w = 220.0f;
h = 600.0f;
self.usersTableView = [[UITableView alloc] initWithFrame:CGRectMake(x, y, w, h) style:UITableViewStylePlain];
self.usersTableView.delegate = self;
self.usersTableView.dataSource = self;
[self.view addSubview:self.usersTableView];
x = CGRectGetMaxX(self.usersTableView.frame) + 10.0f;
self.groupsTableView = [[UITableView alloc] initWithFrame:CGRectMake(x, y, w, h) style:UITableViewStylePlain];
self.groupsTableView.delegate = self;
self.groupsTableView.dataSource = self;
[self.view addSubview:self.groupsTableView];
x = CGRectGetMaxX(self.groupsTableView.frame) + 10.0f;
self.officesTableView = [[UITableView alloc] initWithFrame:CGRectMake(x, y, w, h) style:UITableViewStylePlain];
self.officesTableView.delegate = self;
self.officesTableView.dataSource = self;
[self.view addSubview:self.officesTableView];
첫 번째 표는 다른 내용이 :
이 세 가지의 tableview의 선언 코드 형세. 세 테이블의 순서를 변경하려고 시도했지만 첫 번째 테이블은 항상 잘못된 레이아웃을 보여줍니다 (프라이버시를 위해 행의 내용을 숨김).
편집 여기 데이터 소스 방법 :
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
if (tableView == self.usersTableView)
{
return self.usersDataSource.count;
}
else if (tableView == self.groupsTableView)
{
return self.groupsDataSource.count;
}
else if (tableView == self.officesTableView)
{
return self.officesDataSource.count;
}
return 0;
}
- (UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
if (tableView == self.usersTableView)
{
static NSString *CellIdentifier = @"Cell_User";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
{
cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
cell.textLabel.font = [UIFont systemFontOfSize:13.0f];
}
User * aUser = self.usersDataSource[indexPath.row];
cell.textLabel.text = aUser.Name;
return cell;
}
else if (tableView == self.groupsTableView)
{
static NSString *CellIdentifier = @"Cell_Group";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
{
cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
cell.textLabel.font = [UIFont systemFontOfSize:13.0f];
}
Group * aGroup = self.groupsDataSource[indexPath.row];
cell.textLabel.text = aGroup.Name;
return cell;
}
else if (tableView == self.officesTableView)
{
static NSString *CellIdentifier = @"Cell_Office";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
{
cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
cell.textLabel.font = [UIFont systemFontOfSize:13.0f];
}
Office * anOffice = self.officesDataSource[indexPath.row];
cell.textLabel.text = anOffice.Name;
return cell;
}
return nil;
}
대단히 감사합니다.
데이터 원본 메서드의 코드를 게시 할 수 있습니까? 동일한 테이블 행 개수와 동일한 셀을 반환합니까? 난 0 행을 반환하여 코드를 테스트하고 그들은 모두 나를 위해 똑같아 보여 - 그래서 거기에 문제가있을 수 있습니다 생각합니다 – GracelessROB
좋아, 편집을 참조하십시오! – Fry