mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2026-01-06 05:02:54 +00:00
Proper relayout if size changes
This commit is contained in:
@@ -120,9 +120,8 @@ static NSMutableSet *__cellClassesForVisibilityNotifications = nil; // See +init
|
||||
|
||||
- (void)didInvalidateSize
|
||||
{
|
||||
// TODO: coalesc: Ask the UITableView for the proper constrained size it can layout
|
||||
CGSize oldSize = self.calculatedSize;
|
||||
CGSize newSize = [self sizeThatFits:CGSizeMake(CGRectGetWidth(self.bounds), CGFLOAT_MAX)];
|
||||
CGSize newSize = [self layoutThatFits:[self constrainedSize]].size;
|
||||
|
||||
if (CGSizeEqualToSize(oldSize, newSize) == NO) {
|
||||
self.frame = {self.frame.origin, newSize};
|
||||
@@ -174,6 +173,14 @@ static NSMutableSet *__cellClassesForVisibilityNotifications = nil; // See +init
|
||||
}
|
||||
}
|
||||
|
||||
- (ASSizeRange)constrainedSize
|
||||
{
|
||||
if (_interactionDelegate != nil) {
|
||||
return [_interactionDelegate constrainedSizeForNode:self];
|
||||
}
|
||||
return ASSizeRangeMake(CGSizeZero, CGSizeMake(CGRectGetWidth(self.bounds), CGFLOAT_MAX));
|
||||
}
|
||||
|
||||
- (void)setSelected:(BOOL)selected
|
||||
{
|
||||
if (_selected != selected) {
|
||||
|
||||
Reference in New Issue
Block a user