클라이언트 용 iOS 앱을 작성 중이며 기본보기는 표보기이며 대부분의 iOS twitter 클라이언트와 마찬가지로 텍스트로 셀을 채 웁니다.iOS 사용자 정의 테이블보기 셀 레이블 크기 조정 손상
레이블이 3 개인 사용자 정의 셀보기를 만들었으며이 레이블에 텍스트를 채 웁니다. 라벨 중 하나는 텍스트의 크기에 따라 자동으로 크기를 조정해야합니다 (최대 140 자).
텍스트가 하나의 전체 행 (레이블이 확장 된 것처럼)으로 확장되거나 레이블의 일부만 차지하여 다른 레이블로 넘칠 때까지 위/아래로 스크롤 할 때까지 제대로 작동합니다
before scrolling http://lloydsparkes.co.uk/files/iOS-BeforeScrolling.png
그리고 스크롤을 조금 후 : 테이블 및 데이터가 처음로드 될 때
그래서 화면의 모습 (나는 다른 유사한 SO 질문에 따라 사용 가능 "클립 파단"해야합니까) 모양은 다음과 같습니다.
after scrolling http://lloydsparkes.co.uk/files/iOS-AfterScrolling.png
그래서 레이블이 다시 스크롤되는 동안 (같은 셀이 재사용 됨으로 인해) 크기가 조정되고 올바른 크기로 다시 크기가 조정되지 않는 것으로 보입니다. 셀을 충전에 대한 나의 코드
은 다음과 같습니다
-(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
static NSString *myID = @"customCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:myID];
if(cell == NULL) {
[[NSBundle mainBundle] loadNibNamed:@"CustomCellView" owner:self options:nil];
cell = customCell;
self.customCell = nil;
}
Post *p = [posts objectAtIndex:indexPath.row];
UILabel *label = (UILabel*)[cell viewWithTag:15];
label.text = p.Name;
label = (UILabel*)[cell viewWithTag:10];
label.text = p.Text;
[label sizeToFit];
label = (UILabel*)[cell viewWithTag:20];
label.text = [p Source];
//[cell layoutSubviews];
return cell;
}
그래서 내가 무엇을이 문제를 일으키는 물어 보는 거지? 어떻게 해결 될 수 있습니까?
정말 작동합니까
sizeToFit
를 호출하기 전에 원래 크기 (nib 파일에 설정된 valeu)로 다시label
객체의 프레임을 설정하는 것입니다 시도 할 수것은? 'customCell'은 아무것도 할당되지 않은 것 같습니다. –
customCell은 실제 뷰에 (IB를 통해) 첨부 된 컨트롤러의 속성이므로 Nib가로드 될 때 해당 속성에 연결됩니다. 잘하면 나는 그것을 정확하게 설명했다 .... – lloydsparkes