を実装する必要がありUICollectionView
ます。私が使用する細胞は、UIWebViews
それらの中にあります。主な問題は、セルのサイズを webViews 内の実際のコンテンツに合わせたいことです。
次の2つの方法を使用しました。
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath {
CollectionViewCellDefault *cell = (CollectionViewCellDefault *)[collectionView cellForItemAtIndexPath:indexPath];
NSLog(@"rect %@", NSStringFromCGRect(cell.wvDisplayValue.frame));
CGSize retval = cell.wvDisplayValue.frame.size;
retval.height += 135;
retval.width += 135;
return retval;
}
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{
CollectionViewCellDefault *cell = [collectionView dequeueReusableCellWithReuseIdentifier:detailColumnsCell forIndexPath:indexPath];
NSURL *indexFileURL = [[NSBundle mainBundle] URLForResource:@"index" withExtension:@"html"];
[cell.wvDisplayValue loadRequest:[NSURLRequest requestWithURL:indexFileURL]];
cell.lblTitle.text = @"Description: ";
cell.frame = cell.wvDisplayValue.frame;
return cell;
}
問題はもちろん、webView がロードされた後にのみそのサイズを認識していることです。
- (void)webViewDidFinishLoad:(UIWebView *)webView
UICollectionViewLayout
webview がそのコンテンツをロードした後にのみ、特定のセルのサイズを調整することは何とか可能ですか?
私が見つけたすべての例は、サイズが固定されているか、コンテンツに合わせてサイズが計算されるまで時間がかかる webViews を使用していませんでした。
これを達成する方法はありますか?