Swiftgram/submodules/LegacyComponents/Sources/TGModernMediaListItemView.m
2021-08-05 00:02:35 +02:00

60 lines
1.2 KiB
Objective-C

#import "TGModernMediaListItemView.h"
#import "TGModernMediaListItemContentView.h"
@implementation TGModernMediaListItemView
- (void)prepareForReuse
{
[self _recycleItemContentView];
[super prepareForReuse];
}
- (void)_recycleItemContentView
{
if (_itemContentView != nil)
{
[_itemContentView removeFromSuperview];
if (_recycleItemContentView)
_recycleItemContentView(_itemContentView);
_itemContentView = nil;
}
}
- (TGModernMediaListItemContentView *)_takeItemContentView
{
if (_itemContentView != nil)
{
[_itemContentView removeFromSuperview];
TGModernMediaListItemContentView *result = _itemContentView;
_itemContentView = nil;
return result;
}
return nil;
}
- (void)setItemContentView:(TGModernMediaListItemContentView *)itemContentView
{
[self _recycleItemContentView];
_itemContentView = itemContentView;
if (_itemContentView != nil)
{
[self addSubview:_itemContentView];
_itemContentView.frame = self.bounds;
}
}
- (void)layoutSubviews
{
_itemContentView.frame = self.bounds;
}
@end