关于模型 - 视图 - 控制器(MVC)的一个非常基本的问题。
我有一个自定义的UICollectionView填充了自定义UICollectionViewCells
。集合视图定义UICollectionViewDelegateFlowLayout
方法collectionView: sizeForItemAtIndexPath
中单元格的大小。同时,通过自定义集合单元视图控制器添加和删除子视图。
我的问题:在单元格的视图控制器中添加或删除子视图时,如何告诉集合视图控制器更改高度?
我确实理解委托和数据源概念,但是认为单元格是它自己的委托,所以当子视图时,消息('将高度更改为......')如何从单元格传递到集合视图控制器添加/删除?
答案 0 :(得分:2)
您是否尝试过使用通知中心,
[[NSNotificationCenter defaultCenter] postNotificationName:@"AddedSubViewToCell" object:self];
并在集合视图控制器的viewDidLoad中,
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(addedSubViewToCell:) name:@"AddedSubViewToCell" object:nil];
然后实现选择器
- (void)addedSubViewToCell:(NSNotification:)notificationObject
{
//change frame of collection view
//don't forget to remove observer
}
有关NSNotificationCenter
的详细说明,请参阅此Tutorial
希望这会有所帮助。 感谢