改变UIView的位置不起作用

时间:2013-10-20 21:12:37

标签: iphone ios objective-c uiview ios7

我有一个UIView,我想把它提高50。

我写了以下内容:

NSLog(@"before %@",NSStringFromCGRect(_flixSuggestionsView.frame));
_flixSuggestionsView.frame = CGRectMake(_flixSuggestionsView.frame.origin.x, _flixSuggestionsView.frame.origin.y-45, _flixSuggestionsView.frame.size.width, _flixSuggestionsView.frame.size.height);    
NSLog(@"after %@",NSStringFromCGRect(_flixSuggestionsView.frame));

输出结果为:

 before {{0, 175}, {320, 324}}
 after {{0, 130}, {320, 324}}

但是UIView停留在同一个地方。

我错过了什么?

1 个答案:

答案 0 :(得分:3)

如果为视图定义了任何Autolayout约束,则这些约束将确定视图 位置(相对于其他UI元素)。如果要“手动”控制位置, 您必须删除有关此视图的所有约束,或完全关闭Autolayout 对于视图控制器。