我有一个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停留在同一个地方。
我错过了什么?
答案 0 :(得分:3)
如果为视图定义了任何Autolayout约束,则这些约束将确定视图 位置(相对于其他UI元素)。如果要“手动”控制位置, 您必须删除有关此视图的所有约束,或完全关闭Autolayout 对于视图控制器。