2012-05-16 1 views
1

UILabel이있는 사용자 정의 테이블 셀이 있습니다. 원하는 것은 두 가지 방법으로 수행 할 수 있습니다.iphone 사용자 정의 테이블 셀, UILabel을 스크롤 할 수 있어야합니다.

1- 긴 텍스트를 포함하는 레이블의 높이를 찾고 전체 텍스트를 표시하도록 rowHeight를 설정하십시오.

2 - 사용자가 손으로 텍스트를 위/아래로 움직여 전체 문자열을 읽을 수 있도록 UILabel을 스크롤 가능하게 만듭니다.

어떻게 할 수 있는지 조언 해 주시겠습니까?

+0

이것은 프로그래밍 방식으로 일어날 것입니다. 또한 레이블은 어떻게 작동합니까? 너비가 한정되어 있습니까? 조금 더 많은 정보가 먼저 .. – Martol1ni

+0

빠른 답변을 주셔서 감사합니다. 네, 프로그래밍 방식으로 사용자 정의 셀을 만듭니다. 지금은 행 높이를 88로 설정하고 셀에는 contentLabel = [[UILabel alloc] initWithFrame : CGRectMake (10, 35, 340, 44)]; contentLabel.tag = 2; contentLabel.font = [UIFont systemFontOfSize : 15]; contentLabel.textAlignment = UITextAlignmentLeft; contentLabel.lineBreakMode = UILineBreakModeWordWrap; contentLabel.numberOfLines = 0; contentLabel.text = contentText; [cell.contentView addSubview : contentLabel]; 줄을 잘게 나눌 수 있지만 텍스트가 더 길면 표시되지 않습니다. – Panos

+0

원본 게시물을 업데이트하여 코드를 표시 할 수 있도록하십시오. – Martol1ni

답변

1

텍스트가 정적이며 동적으로 변경되지 않는 경우 첫 번째 옵션을 사용해야합니다. 테이블을 새로 고칠 때마다 텍스트를 다시 계산할 필요가 없도록 결과를 캐시 할 수 있습니다. sizeWithFont:constrainedToSize:lineBreakMode을 사용하여 실제 텍스트 크기를 계산할 수 있습니다.

행 높이의 경우 rowHeight가 단일 행뿐만 아니라 모든 행의 높이를 변경하므로 행 높이가 아닌 tableView:heightForRowAtIndexPath:을 사용해야합니다.

테이블 내에서 스크롤 가능한 텍스트보기로보기 : 내 의견으로는 - 앱의 저렴한 솔루션처럼 보이고 약간 아마추어가됩니다.

1

대부분의 경우 테이블 셀을 크게 만들 수있는 문자열의 길이에 따라 첫 번째 옵션을 사용하지 않는 것이 좋습니다.

두 번째 옵션은 UIScrollView를 하위보기로 테이블보기 셀에 추가 할 수 있어야합니다. 스크롤보기에는 전체 크기의 텍스트 레이블이 포함될 수 있으며 고정 된 크기의 셀 내에서 스크롤 할 수 있습니다.

+0

어떻게 할 수 있습니까? 나는 새로운, 아이폰, 도청에 대한 미안. – Panos

+0

당신은 이것을하기 위해 2 가지를 배워야합니다 : 1) UIScrollView를 사용하는 방법. (특히 프레임과 내용을 설정하는 것). 2) 사용자 정의 테이블보기 셀을 만드는 방법 (하위보기 포함). 그런 다음 스크롤 뷰를 사용자 정의 셀의 하위 뷰로 추가하여 모두 넣습니다.이 사이트에는 많은 코드가 있으며이 개별 작업을 수행하는 방법을 보여주는 다른 사람들도 있습니다. – Dima

1

우리는 어떻게 할 수 있습니까? 임 아이폰에 새로운, 도청 죄송합니다. - 유리창 9 분 전

UIScrollView *scroller = [[UIScrollView alloc]initWithFrame:cell.frame]; 
scroller.contentSize = CGSizeMake(280, 100); 
UILabel *test = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 100, 20)]; 
test.text = @"This would be your label."; 
[scroller addSubview:test]; 
[cell addSubview:scroller]; 

이는있는 UIScrollView와 테이블 셀 '셀'에 레이블을 만들 것입니다. 이것은 작동하지만, 이것이 최상의 솔루션이라고 생각하지 않습니다. 스크롤을 제공하는 테이블 뷰 내에서 스크롤 뷰가 될 것이기 때문입니다. 나의 충고는 행의 열의를 조정하는 것이다.