UICollectionView:从自定义单元格中更改 sizeForItemAtIndexPath
UICollectionView: change the sizeForItemAtIndexPath from within custom cell
关于模型-视图-控制器 (MVC) 的一个非常基本的问题。
我有一个自定义的 UICollectionView,其中填充了自定义 UICollectionViewCells
。集合视图在 UICollectionViewDelegateFlowLayout
方法 collectionView: sizeForItemAtIndexPath
中定义单元格的大小。同时,通过自定义集合单元格视图控制器添加和删除子视图。
我的问题:在单元格的视图控制器中添加或删除子视图时,如何同时告诉集合视图控制器更改高度?
我确实理解委托和数据源的概念,但认为单元格是它自己的委托,那么当子视图是 added/removed?
你试过通知中心吗,
[[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
希望这对您有所帮助。
谢谢
关于模型-视图-控制器 (MVC) 的一个非常基本的问题。
我有一个自定义的 UICollectionView,其中填充了自定义 UICollectionViewCells
。集合视图在 UICollectionViewDelegateFlowLayout
方法 collectionView: sizeForItemAtIndexPath
中定义单元格的大小。同时,通过自定义集合单元格视图控制器添加和删除子视图。
我的问题:在单元格的视图控制器中添加或删除子视图时,如何同时告诉集合视图控制器更改高度?
我确实理解委托和数据源的概念,但认为单元格是它自己的委托,那么当子视图是 added/removed?
你试过通知中心吗,
[[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
希望这对您有所帮助。 谢谢