From 2017d11f5d1dbcb806708b5245c055a072f526ad Mon Sep 17 00:00:00 2001 From: VladiMihaylenko Date: Wed, 26 Apr 2017 15:38:43 +0300 Subject: [PATCH] [ios] Fixed layou bug on elder iOS. --- .../Filters/FilterCollectionHolderCell.swift | 21 +++++++++++++++++-- .../MWMSearchHotelsFilterViewController.mm | 2 +- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/iphone/Maps/UI/Search/Filters/FilterCollectionHolderCell.swift b/iphone/Maps/UI/Search/Filters/FilterCollectionHolderCell.swift index c79026753a..901187baaf 100644 --- a/iphone/Maps/UI/Search/Filters/FilterCollectionHolderCell.swift +++ b/iphone/Maps/UI/Search/Filters/FilterCollectionHolderCell.swift @@ -3,6 +3,18 @@ final class FilterCollectionHolderCell: MWMTableViewCell { @IBOutlet weak var collectionView: UICollectionView! @IBOutlet private weak var collectionViewHeight: NSLayoutConstraint! + private weak var tableView: UITableView? + override var frame: CGRect { + didSet { + guard #available(iOS 10, *) else { + if (frame.size.height < 1 /* minimal correct height */) { + frame.size.height = collectionViewHeight.constant + tableView?.refresh() + } + return + } + } + } private func layout() { collectionView.setNeedsLayout() @@ -10,13 +22,18 @@ final class FilterCollectionHolderCell: MWMTableViewCell { collectionViewHeight.constant = collectionView.contentSize.height } - func config() { + func config(tableView: UITableView?) { layout() collectionView.allowsMultipleSelection = true; isSeparatorHidden = true backgroundColor = UIColor.pressBackground() + + guard #available(iOS 10, *) else { + self.tableView = tableView + return + } } - + override func layoutSubviews() { super.layoutSubviews() layout() diff --git a/iphone/Maps/UI/Search/Filters/MWMSearchHotelsFilterViewController.mm b/iphone/Maps/UI/Search/Filters/MWMSearchHotelsFilterViewController.mm index 3e719db9c8..8090c206a7 100644 --- a/iphone/Maps/UI/Search/Filters/MWMSearchHotelsFilterViewController.mm +++ b/iphone/Maps/UI/Search/Filters/MWMSearchHotelsFilterViewController.mm @@ -143,7 +143,7 @@ void configButton(UIButton * button, NSString * primaryText, NSString * secondar - (void)initialTypeConfig { - [self.type config]; + [self.type configWithTableView:self.tableView]; [self resetTypes]; }