forked from organicmaps/organicmaps
Merge pull request #5449 from igrechuhin/ads
[ads] [ios] Fixed FBAdsBanner layout for iPad.
This commit is contained in:
commit
f71a1a9b8f
2 changed files with 13 additions and 10 deletions
|
@ -4,6 +4,16 @@ import FBAudienceNetwork
|
|||
enum FBAdsBannerState: Int {
|
||||
case compact
|
||||
case detailed
|
||||
|
||||
func config() -> (priority: UILayoutPriority, numberOfLines: Int) {
|
||||
switch self {
|
||||
case .compact:
|
||||
return alternative(iPhone: (priority: UILayoutPriorityDefaultLow, numberOfLines: 2),
|
||||
iPad: (priority: UILayoutPriorityDefaultHigh, numberOfLines: 0))
|
||||
case .detailed:
|
||||
return (priority: UILayoutPriorityDefaultHigh, numberOfLines: 0)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@objc(MWMFBAdsBanner)
|
||||
|
@ -17,15 +27,10 @@ final class FBAdsBanner: UITableViewCell {
|
|||
|
||||
var state = FBAdsBannerState.compact {
|
||||
didSet {
|
||||
let priority: UILayoutPriority
|
||||
let numberOfLines: Int
|
||||
switch state {
|
||||
case .compact: (priority, numberOfLines) = (UILayoutPriorityDefaultLow, 2)
|
||||
case .detailed: (priority, numberOfLines) = (UILayoutPriorityDefaultHigh, 0)
|
||||
}
|
||||
let config = state.config()
|
||||
layoutIfNeeded()
|
||||
adBodyLabel.numberOfLines = numberOfLines
|
||||
detailedModeConstraints.forEach { $0.priority = priority }
|
||||
adBodyLabel.numberOfLines = config.numberOfLines
|
||||
detailedModeConstraints.forEach { $0.priority = config.priority }
|
||||
UIView.animate(withDuration: kDefaultAnimationDuration) { self.layoutIfNeeded() }
|
||||
}
|
||||
}
|
||||
|
|
|
@ -311,8 +311,6 @@ array<Class, 8> const kPreviewCells = {{[_MWMPPPTitle class], [_MWMPPPExternalTi
|
|||
|
||||
- (void)layoutInOpenState:(BOOL)isOpen
|
||||
{
|
||||
if (IPAD)
|
||||
return;
|
||||
[self.tableView update:^{
|
||||
self.cachedBannerCell.state = isOpen ? MWMFBAdsBannerStateDetailed : MWMFBAdsBannerStateCompact;
|
||||
}];
|
||||
|
|
Loading…
Add table
Reference in a new issue