我在视图控制器的UIView中添加了FBAdView。
(我将视图背景设置为红色)
FBAdView是使用kFBAdSizeHeight50Banner的adSize创建的。
问题在于,FBAdView在添加时会计算其宽度,但是旋转设备后,它不会再次计算其宽度

我尝试使用自动版式,但是没有用

添加FBAdview的代码(添加到带有红色背景的UILabel)

FBAdView *fbAdView = [[FBAdView alloc] initWithPlacementID:@"***************_***************" adSize:kFBAdSizeHeight50Banner rootViewController:self]; fbAdView.delegate = self; [fbAdView loadAd]; [self.banner addSubview:fbAdView];

自动布局的代码-不起作用

// Width constraint, parent view width [self.banner addConstraint:[NSLayoutConstraint constraintWithItem:fbAdView attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:self.banner attribute:NSLayoutAttributeWidth multiplier:1 constant:0]];

ojit_pre

打印屏幕
添加横幅时,它适合屏幕宽度
旋转后,它不会改变其宽度(例如其父红色视图)

最佳答案

我认为您缺少一些限制。

添加这些行(可能需要进行一些小的更改)可以使您的代码正常工作:

self.banner.translatesAutoresizingMaskIntoConstraints = NO;
fbAdView.translatesAutoresizingMaskIntoConstraints = NO;


// Width constraint
[self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.banner
                                                     attribute:NSLayoutAttributeWidth
                                                     relatedBy:NSLayoutRelationEqual
                                                        toItem:self.view
                                                     attribute:NSLayoutAttributeWidth
                                                    multiplier:1
                                                      constant:0]];

// Height constraint
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:[banner(==50)]"
                                                                 options:0
                                                                 metrics:nil
                                                                   views:NSDictionaryOfVariableBindings(banner)]];


我已经在https://github.com/overlordnyaldee/BannerAutoLayout上发布了一个示例项目

关于ios - Facebook Audience Network ios FBAdView宽度,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31424997/

10-11 14:43