How to get real contentSize?
Hi,
Thanks for such a great lib!
How to get real height of the content without filling and so on?
Here is an example but it doesn't work properly with you lib. Do you have any idea? @gleue
class MyCollectionView: UICollectionView {
// MARK: - Layout
override func layoutSubviews() {
super.layoutSubviews()
let height = contentSize.height
guard
height > 1 else {
return
}
// here the height
}
}
P.s. I'd like to use two instances of the lib on a page.
Regards,
@gleue
Did you mean the height of (overlapping) cards combined?
@gleue this one
Have you tried collectionView.collectionViewLayout.collectionViewContentSize ?
@gleue unfortunately, it's not public method. Also this method will always return self.collectionView.bounds
if (contentSize.height < CGRectGetHeight(self.collectionView.bounds)) {
contentSize.height = CGRectGetHeight(self.collectionView.bounds);
Oops -- didn't look at the code ;-)
Sorry, then you'd probably have to determine it from your own version of TGLStackedLayout. Have a look at prepareLayout...
@gleue right, I've made a workaround in TGLStackedLayout and TGLExposedLayout. It works for TGLExposedLayoutPinningModeNone.
- (void)prepareLayout {
CGRect realContentSize = CGRectZero;
for (NSInteger item = 0; item < itemCount; item++) {
...
layoutAttributes[indexPath] = attributes;
realContentSize = CGRectUnion(attributes.frame, realContentSize);
}
self.realContentSize = realContentSize;
self.layoutAttributes = layoutAttributes;
}
Do you have a better solution?
Elegant 👍
I don't have a better solution off the top of my head... Would have to think about it, but I am really busy at the moment, so it would take some time
Great! Thanks!