Merge pull request #618 from garrettmoon/fixStaticLayoutWithCollectionView

Static layout doesn't properly set a height for collection view cells
This commit is contained in:
appleguy
2015-08-21 21:02:38 -07:00
2 changed files with 10 additions and 4 deletions

View File

@@ -560,10 +560,16 @@ static BOOL _isInterceptedSelector(SEL sel)
if (ASScrollDirectionContainsHorizontalDirection([self scrollableDirections])) {
constrainedSize.min.width = MAX(0, constrainedSize.min.width - sectionInset.left - sectionInset.right);
constrainedSize.max.width = MAX(0, constrainedSize.max.width - sectionInset.left - sectionInset.right);
//ignore insets for FLT_MAX so FLT_MAX can be compared against
if (constrainedSize.max.width - FLT_EPSILON < FLT_MAX) {
constrainedSize.max.width = MAX(0, constrainedSize.max.width - sectionInset.left - sectionInset.right);
}
} else {
constrainedSize.min.height = MAX(0, constrainedSize.min.height - sectionInset.top - sectionInset.bottom);
constrainedSize.max.height = MAX(0, constrainedSize.max.height - sectionInset.top - sectionInset.bottom);
//ignore insets for FLT_MAX so FLT_MAX can be compared against
if (constrainedSize.max.height - FLT_EPSILON < FLT_MAX) {
constrainedSize.max.height = MAX(0, constrainedSize.max.height - sectionInset.top - sectionInset.bottom);
}
}
return constrainedSize;

View File

@@ -74,14 +74,14 @@
[sublayouts addObject:sublayout];
}
if (isnan(size.width)) {
if (isnan(size.width) || size.width >= FLT_MAX - FLT_EPSILON) {
size.width = constrainedSize.min.width;
for (ASLayout *sublayout in sublayouts) {
size.width = MAX(size.width, sublayout.position.x + sublayout.size.width);
}
}
if (isnan(size.height)) {
if (isnan(size.height) || size.height >= FLT_MAX - FLT_EPSILON) {
size.height = constrainedSize.min.height;
for (ASLayout *sublayout in sublayouts) {
size.height = MAX(size.height, sublayout.position.y + sublayout.size.height);