效果:
collectionView的数据源方法
- (UICollectionViewCell *) collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
newsCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"news" forIndexPath:indexPath];
NSString *urlString = self.arrayList[indexPath.item];
if (![self.childViewControllers containsObject:cell.newsVc]) {
[self addChildViewController:(UIViewController *)cell.newsVc];
}
cell.urlStr = urlString;
return cell;
}
cell的自己定义例如以下
- (void)setUrlStr:(NSString *)urlStr
{
_urlStr = urlStr;
self.newsVc.urlStr = urlStr;
}
- (void)awakeFromNib
{
UIStoryboard *sb = [UIStoryboard storyboardWithName:@"news" bundle:nil];
self.newsVc = sb.instantiateInitialViewController;
// 设置 view frame,否则,view frame 的大小不会调整!
self.newsVc.view.frame = self.bounds;
// 将 vc 的视图加入到 cell 中
[self addSubview:self.newsVc.view];
}