2017-10-11 5 views
0

전 iOS를 처음 사용합니다. 나는 objective-c를 연습하고 있으며 나의 커스텀 UITableViewCell을 만들었다. 기본 높이가 아니라 높이가 120이고 높이가 120입니다. 그러나 프로그램을 실행하면 셀이 기본 높이로 표시됩니다. 난 단지 다음과 같이 몇 가지 코드를 작성하고 난 사용자 정의 셀을 디자인하는 데 xib를 사용하고 있습니다. 필요한 경우 스크린 샷을 공유 할 수 있습니다. 감사합니다사용자 정의 UITableViewCell이 전체 ​​길이에 표시되지 않습니다.

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 

    static NSString *CellIdentifier = @"CustomCell"; 

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    if (cell == nil) { 
     NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:self options:nil]; 
     cell = [topLevelObjects objectAtIndex:0]; 
    } 

    return cell; 
} 

내가 heightforrowatindexpath 방법을 구현하지 않은 내 프로젝트 중 하나에서 편집. 왜 다른 프로젝트에서 구현해야합니까? 필요하다 ?? 안내해주십시오. 당신이 다른 세포 높이를 원하는 경우

답변

0

행의 높이가 대리자 메서드로 반환해야합니다 : 모든 사용자 정의 세포 인 경우

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { 

return 120.0; 
} 
0

같은 높이이지만 기본 높이와 다른 경우 높이를 정의하는 세 가지 옵션이 있습니다.

1) 스토리 보드/인터페이스 빌더에서 TableView의 속성으로 정의하십시오. TableView -> Size Inspector -> Row Height를 선택하십시오.

2) viewDidLoad()에서 높이 _tableView.rowHeight = 120;을 정의 할 수 있습니다.이 옵션은 storyboard/Interface builder의 값보다 우선합니다.

3) 다른 사람이 제안한 것처럼 위임을 구현할 수 있습니다.

(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ 
return 120; 
} 

이 마지막 옵션

당신에게 각 행에 대해 서로 다른 높이를 정의하기위한 유연성을 제공하고 두 가지 옵션이 위의 값을 재정의합니다.

콘텐츠를 기반으로 동적 셀 높이를 얻는 방법이 있습니다. 네가 그걸 필요로한다면 나에게 알려줘.