基于Swift NSLayoutConstraint方程的常数

我一直在以编程方式学习Swift,并在构建相机(电影)应用程序时这样做。

我正在研究约束,它非常简单。 但我现在要做的是实现宽高比; 用户可以循环通过标准的电影和电视纵横比来确定视图的大小。

在构建通用应用程序时,约束需要基于视图的高度。 所以,我需要一个常数,它是一个方程,而不是一个数值。

就像是:

constant:self.view.Height/((self.view.Width*Consequent)/Antecedent) 

我找到了下面的博客文章,并且一直在试图取消它。 但由于这篇文章是在斯威夫特参加BETA时写的,所以我很难重新创造任何东西。

http://blog.ikiapps.com/post/91024428050/making-auto-layout-constraints-more-like-math-in

我猜这个解决方案非常简单,但由于我是Swift(和iOS开发)的新手,我可能会忽略一些东西。 任何帮助,建议,已知的post等将不胜感激! 谢谢!

以编程方式设置约束

  var verticalSpaceFromBotton = NSLayoutConstraint(item: objectName, attribute: NSLayoutAttribute.BottomMargin, relatedBy: NSLayoutRelation.Equal, toItem: self.viewControllerName, attribute: .BottomMargin, multiplier: 1, constant: -5) self.viewControllerName.addConstraint(verticalSpaceFromBotton) var trailingSpace = NSLayoutConstraint(item: objectName, attribute: NSLayoutAttribute.Trailing, relatedBy: NSLayoutRelation.Equal, toItem: self.viewControllerName, attribute: .Trailing, multiplier: 1, constant: -7) self.viewControllerName.addConstraint(trailingSpace) var width = NSLayoutConstraint(item: objectName, attribute: .Width, relatedBy: NSLayoutRelation.Equal, toItem: nil, attribute: .NotAnAttribute, multiplier: 1, constant: UIScreen.mainScreen().bounds.size.width - 14) self.viewControllerName.addConstraint(width) var height = NSLayoutConstraint(item: objectName, attribute: .Height, relatedBy: NSLayoutRelation.Equal, toItem: nil, attribute: .NotAnAttribute, multiplier: 1, constant: 44) self.viewControllerName.addConstraint(height)