ich dieses Problem wurde mit (UICollectionView inside of UITableViewCell - AutoLayout)Absturz während sie durch die Tableview Scrollen, die eine Collection haves darin
und nach mehreren Lösung versucht, die im Internet verfügbar sind i mit diesem @Pablo Romeu's answer kam ich seine Lösung versucht, ich jetzt bekam eine Tableview mit Collection Zellen darin (die dynamisch seine Größe je nach Inhalt in ihm ändern können) aber, wenn durch meinen Tableview verschiebe seine mit diesem Fehler abgestürzt immer:
2016-06-13 22:05:51.546 WishMeluck[3507:425240] the behavior of the UICollectionViewFlowLayout is not defined because:
2016-06-13 22:05:51.546 WishMeluck[3507:425240] the item height must be less than the height of the UICollectionView minus the section insets top and bottom values, minus the content insets top and bottom values.
2016-06-13 22:05:51.546 WishMeluck[3507:425240] Please check the values return by the delegate.
2016-06-13 22:05:51.547 WishMeluck[3507:425240] The relevant UICollectionViewFlowLayout instance is <UICollectionViewFlowLayout: 0x7fb83c05de90>, and it is attached to <UICollectionView: 0x7fb83a0c7c00; frame = (0 82.5; 375 179); clipsToBounds = YES; autoresize = RM+BM; tag = 4; gestureRecognizers = <NSArray: 0x7fb83c05cf00>; layer = <CALayer: 0x7fb83c055fb0>; contentOffset: {0, 0}; contentSize: {539, 179}> collection view layout: <UICollectionViewFlowLayout: 0x7fb83c05de90>.
2016-06-13 22:05:51.547 WishMeluck[3507:425240] Make a symbolic breakpoint at UICollectionViewFlowLayoutBreakForInvalidSizes to catch this in the debugger.
2016-06-13 22:05:51.548 WishMeluck[3507:425240] the behavior of the UICollectionViewFlowLayout is not defined because:
2016-06-13 22:05:51.548 WishMeluck[3507:425240] the item height must be less than the height of the UICollectionView minus the section insets top and bottom values, minus the content insets top and bottom values.
2016-06-13 22:05:51.548 WishMeluck[3507:425240] Please check the values return by the delegate.
2016-06-13 22:05:51.548 WishMeluck[3507:425240] The relevant UICollectionViewFlowLayout instance is <UICollectionViewFlowLayout: 0x7fb83c05de90>, and it is attached to <UICollectionView: 0x7fb83a0c7c00; frame = (0 82.5; 375 179); clipsToBounds = YES; autoresize = RM+BM; tag = 4; gestureRecognizers = <NSArray: 0x7fb83c05cf00>; layer = <CALayer: 0x7fb83c055fb0>; contentOffset: {0, 0}; contentSize: {539, 179}> collection view layout: <UICollectionViewFlowLayout: 0x7fb83c05de90>.
2016-06-13 22:05:51.548 WishMeluck[3507:425240] Make a symbolic breakpoint at UICollectionViewFlowLayoutBreakForInvalidSizes to catch this in the debugger.
(lldb)
ist, um herauszufinden, nicht in der Lage des Ursache für diesen Fehler, wenn irgendein Körper weiß s dann mir bitte helfen
hinzugefügt, um diese Codes zu meinem TableViewCell
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
// collectionViewContainer.frame = self.bounds;
// collectionViewContainer.autoresizingMask = [.FlexibleWidth, .FlexibleHeight]
let flow: UICollectionViewFlowLayout = (self.collectionView.collectionViewLayout as! UICollectionViewFlowLayout)
// Configure the collectionView
flow.minimumInteritemSpacing = 1
// This enables the magic of auto layout.
// Setting estimatedItemSize different to CGSizeZero
// on flow Layout enables auto layout for collectionView cells.
// https://developer.apple.com/videos/play/wwdc2014-226/
flow.estimatedItemSize = CGSizeMake(1, 1)
// Disable the scroll on your collection view
// to avoid running into multiple scroll issues.
self.collectionView.scrollEnabled = true
}
func bindWithModel(model: AnyObject) {
// Do your stuff here to configure the tableViewCell
// Tell the cell to redraw its contentView
self.contentView.layoutIfNeeded()
}
// THIS IS THE MOST IMPORTANT METHOD
//
// This method tells the auto layout
// You cannot calculate the collectionView content size in any other place,
// because you run into race condition issues.
// NOTE: Works for iOS 8 or later
override func systemLayoutSizeFittingSize(targetSize: CGSize, withHorizontalFittingPriority horizontalFittingPriority: UILayoutPriority, verticalFittingPriority: UILayoutPriority) -> CGSize {
// With autolayout enabled on collection view's cells we need to force a collection view relayout with the shown size (width)
//self.collectionView.frame = CGRectMake(0, 0, targetSize.width, targetSize.height)
self.collectionView.layoutIfNeeded()
// If the cell's size has to be exactly the content
// Size of the collection View, just return the
// collectionViewLayout's collectionViewContentSize.
return self.collectionView.collectionViewLayout.collectionViewContentSize()
}
und dies in meinem CollectionViewCell:
class CollectionViewCell: UICollectionViewCell {
@IBOutlet var imgView: UIImageView!
override func awakeFromNib() {
self.contentView.setNeedsLayout()
}
}
dies auch in meinem Tableviewcontroller:
// Enable automatic row auto layout calculations
self.tableView.rowHeight = UITableViewAutomaticDimension;
// Set the estimatedRowHeight to a non-0 value to enable auto layout.
self.tableView.estimatedRowHeight = 100
mein Projekt file
@Rienier danke für antwortender Mann, ich müde, aber es stürzt die App mit n Einladung Schleife NSLog Fehler –
Ich überprüfe, um zu sehen, ob ich dieses Problem beheben kann, jedes Ergebnis werde ich in meiner Antwort teilen Bearbeiten Sie –
wird es gut für mich sein –