2016-04-12 78 views
0

我添加了一个提示,通过向用户显示uiview来购买完整版本的应用程序;不过,我在编程方面遇到了问题设置限制,因为没有在iPhone 6 plus的下图中显示的问题。ios swift - 以编程方式自动布局到子视图

我做:

let purchasePopUp = PromptPurchase.instanceFromNib() as! PromptPurchase 
      //purchasePopUp.frame = UIScreen.mainScreen().bounds 


      purchasePopUp.translatesAutoresizingMaskIntoConstraints = false 

      // let leadingConstraint = NSLayoutConstraint(item: purchasePopUp, attribute: .Leading, relatedBy: .Equal, toItem: view, attribute: .Leading, multiplier: 1, constant: 0) 
      let trailingConstraint = NSLayoutConstraint(item: purchasePopUp, attribute: .Trailing, relatedBy: .Equal, toItem: view, attribute: .Trailing, multiplier: 1, constant: 0) 
      // let topConstraint = NSLayoutConstraint(item: purchasePopUp, attribute: .Top, relatedBy: .Equal, toItem: view, attribute: .Top, multiplier: 1, constant: 0) 
      let bottomConstraint = NSLayoutConstraint(item: purchasePopUp, attribute: .Bottom, relatedBy: .Equal, toItem: view, attribute: .Bottom, multiplier: 1, constant: 0) 
      //view.addConstraints([leadingConstraint, trailingConstraint, topConstraint, bottomConstraint]) 
      view.addConstraints([trailingConstraint, bottomConstraint]) 

      view.addSubview(purchasePopUp) 

,它仍然只占据相同的空间。

谢谢

enter image description here

+0

这不是很明显的问题是什么,但我认为你想让视图填充父视图的区域。首先是约束激活。我不记得他们是否默认。所以检查一下。其次,为了简单起见,我建议切换到视觉格式语言或更新的iOS8锚点作为定义约束的方法。我发现锚点是一个非常简单的方法来完成它们。只记得激活它们。 – drekka

+0

这是正确的,我想要视图填充父视图的区域。约束在默认情况下处于活动状态。我会立即查看锚点。谢谢您的意见 – Walking

回答

0

随着EasyPeasy你的代码应该是这样的,试试看:)

import EasyPeasy 

if let purchasePopUp = PromptPurchase.instanceFromNib() as? PromptPurchase { 
    view.addSubview(purchasePopUp) 
    purchasePopUp <- Edges() 
} 

https://github.com/nakiostudio/EasyPeasy

相关问题