2016-04-12 83 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

相關問題