使用自动布局以编程方式更改框架
我有一个UITableView与Autolayout和我需要降低GADBannerView出现在屏幕的底部的高度。 
不幸的是Autolayout是不可能修改框架的。 解决办法是删除Autolayout并手动设置框架。 这是非常危险的,因为我所有的应用程序都能在3.5'和4.0'显示器上正常工作,并且移除自动布局,从而导致新的testing阶段和更多的努力
即使自动布局被启用,是否有改变框架的方法?
 让您的UITableView约束底部布局设置为0,使一个IBOutlet 。 现在让你的GADBannerView高度是40,所以改变你的outlet.constant = 40; 有关如何制作IBOutlet并更改其价值的更多信息,请IBOutlet 此或此希望,这将有所帮助。 
编辑:对于那些寻求示例,请按照这些简单的步骤(因为这是被接受的答案,我认为这是值得有一个例子。在这个例子信贷@manujmv)
- 
在界面中为您的视图创build一个高度约束。 
- 
然后在你的类中为这个约束添加一个IBOutlet对象。 例如: @属性(弱,非primefaces)IBOutlet NSLayoutConstraint * heightConstraint; 
在连接面板中连接这个对象。
- 
然后在需要的时候改变这个约束的值 self.heightConstraint.constant = 40; 
而不是试图改变视图的框架,使用自动布局添加高度约束,并减less这个约束的价值。 执行以下步骤:
- 在界面中为您的视图创build一个高度限制。
- 
然后在你的类中为这个约束添加一个IBOutlet对象。 例如, @property (weak, nonatomic) IBOutlet NSLayoutConstraint *heightConstraint;在连接面板中连接这个对象。 
- 
然后在需要的时候改变这个约束的值 self.heightConstraint.constant = 40;
 还有一件事,你必须调用[self.view layoutIfNeeded]; 方法一旦你约束的约束。 
请享用 :)