更改 UIView 的位置不起作用
Posted
技术标签:
【中文标题】更改 UIView 的位置不起作用【英文标题】:Change position of UIView doesn't work 【发布时间】:2013-10-20 21:12:36 【问题描述】:我有一个 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】:如果为视图定义了任何自动布局约束,这些约束将确定视图的 位置(相对于其他 UI 元素)。如果您想“手动”控制位置, 您必须删除有关此视图的所有约束,或完全关闭 Autolayout 用于视图控制器。
【讨论】:
以上是关于更改 UIView 的位置不起作用的主要内容,如果未能解决你的问题,请参考以下文章