2012-07-17 2 views
1

내 응용 프로그램에는 셀에 제목, 부제목, 이미지 및 공개 표시가 포함 된 표가 있습니다. 모두 꽤 늪지 표준, 그래서 일반 UITableViewCell initWithStyle:UITableViewCellStyleSubtitle 트릭 않습니다. 이미지가 실제로 작아서 아주 작아서 사용하기가 아주 어렵습니다. (이 사진을 사용하여 사진 미리보기 이미지를 표시하고 있으며 사진이 무엇인지 알 수 없습니다.)큰 이미지가 UITableViewCell에 있습니까?

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath을 구현하고 더 큰 크기로 설정했는데 실제로이 셀이 더 커집니다. 그러나 이미지의 크기에는 영향을주지 않습니다.

UITableViewCell 표준을 더 크고 더 큰 이미지로 만드는 방법이 있습니까, 아니면 UITableViewCell의 맞춤 하위 클래스를 만들어야합니까?

답변

2

-cellForRowAtIndexPath:에있는 각 셀의 하위보기를 반복 할 수 있어야하며 imageView의 크기를 다시 설정할 수 있어야합니다.

for(UIView* view in cell.subviews) { 
    if([view isKindOfClass:[UIImageView class]]) { 
     [view setFrame:yourNewBiggerFrame]; 
    } 
} 

-cellForRowAtIndexPath:에서

-heightForRowAtIndexPath:로이 결합하면 세포와 이미지 뷰의 크기를 조정 할 수 있어야한다.

편집 :

H2CO3 포인트로서 아웃, 상기 방법은 불필요한 상세 비트이다. 셀의 imageView 속성을 사용하고 프레임의 프레임을 변경하면보다 깨끗하고 미래 지향적입니다. 따라서 당신은 다음을 얻습니다 :

셀의 모든 하위 뷰를 루핑하는 것보다 훨씬 깔끔합니다!

+0

해킹이 필요하지 않습니다. UITableViewCell에 대한 'imageView'속성이 있습니다 ... –

+0

흠. 방금 본 것과 똑같은 생각을했지만,'imageView'는'readOnly'로 표시되어 있습니다. 그래서 네가 그 틀을 바꿀 수 없다고 생각 했어. 바보. 나는 내 대답을 편집 중입니다. 그 점을 지적 해 주셔서 감사합니다. –

+0

imageView가 읽기 전용이지만 해당 속성이 아직 없습니다 :) –

1
[cell.imageView setFrame:yourFrameHere]; 

현재 셀 스타일 때문에 이미지 크기가 셀 크기에 비례합니다. 이것이 셀을 더 크게 만들 때 imageView가 커지는 이유입니다. 희망이 도움이됩니다.

건배!

관련 문제