1

我有一个 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 保持在同一个位置。

我错过了什么?

4

1 回答 1

4

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

于 2013-10-20T21:27:06.493 回答