iAd导致约束冲突

问题描述:

我想弄清楚我的约束是怎么回事...... Storyboard认为存在一些冲突constraints但我不能从手动设置中看到。iAd导致约束冲突

显然,这些都是冲突的约束:

(
    "<_UILayoutSupportConstraint:0x7fc9a0431200 V:[_UILayoutGuide:0x7fc9a0587fc0(0)]>", 
    "<_UILayoutSupportConstraint:0x7fc9a040e210 V:|-(0)-[_UILayoutGuide:0x7fc9a0587fc0] (Names: '|':UIView:0x7fc9a0584b10)>", 
    "<_UILayoutSupportConstraint:0x7fc9a0404300 V:[_UILayoutGuide:0x7fc9a0588ad0(0)]>", 
    "<_UILayoutSupportConstraint:0x7fc9a0400e00 _UILayoutGuide:0x7fc9a0588ad0.bottom == UIView:0x7fc9a0584b10.bottom>", 
    "<NSLayoutConstraint:0x7fc9a0584860 V:[UIImageView:0x7fc9a0584f90(0)]>", 
    "<NSLayoutConstraint:0x7fc9a058afb0 V:[_UILayoutGuide:0x7fc9a0587fc0]-(0)-[UIImageView:0x7fc9a0584f90]>", 
    "<NSLayoutConstraint:0x7fc9a058b280 V:[UIImageView:0x7fc9a0584f90]-(0)-[_UILayoutGuide:0x7fc9a0588ad0]>", 
    "<NSLayoutConstraint:0x7fc9a0775890 'UIView-Encapsulated-Layout-Height' V:[UIView:0x7fc9a0584b10(320)]>" 
) 

谁能帮我找出它认为这是怎么回事?我正在使用大小类,但从我可以看到所有正确的约束安装/卸载..

好吧,看起来iAd导致我的constraints搞乱风景...希望禁用横幅广告横幅将解决这..

你可以尝试在代码中创建你的iAd banner我总是喜欢这种方式。

下面是一些适合我的工作代码。广告会根据屏幕尺寸自动更改尺寸,并位于屏幕的底部。

import iAd 

class viewController: UIViewController, ADBannerViewDelegate { 

var AdBanner = ADBannerView() 

override func viewDidLoad() { 
    super.viewDidLoad() 

     /* Ad Banner Settings */ 

     AdBanner = ADBannerView() 
     AdBanner.frame = CGRectZero 
     AdBanner.delegate = self 
     self.AdBanner.frame = CGRectMake(0, self.view.frame.size.height-self.AdBanner.frame.size.height, self.AdBanner.frame.size.width, self.AdBanner.frame.size.height) 
     AdBanner.backgroundColor = UIColor.clearColor() 
     self.view .addSubview(AdBanner) 

} 

/* All iAd Functions */ 

func bannerViewActionShouldBegin(banner: ADBannerView!, willLeaveApplication willLeave: Bool) -> Bool { 
/* whatever you need */ 
    return true 
} 

func bannerViewActionDidFinish(banner: ADBannerView!) { 
/* whatever you need */ 
} 

func bannerViewDidLoadAd(banner: ADBannerView!) { 
    AdBanner.hidden = false 
} 


func bannerView(banner: ADBannerView!, didFailToReceiveAdWithError error: NSError!) { 
    NSLog("Error Loading Ad") 
/* whatever you need */ 
    AdBanner.hidden = true 
} 
func bannerViewWillLoadAd(banner: ADBannerView!) { 
/* whatever you need */ 
}