更改 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 的位置不起作用的主要内容,如果未能解决你的问题,请参考以下文章

UIView 动画不起作用

动画 UIView 宽度不起作用

同时动画两个 UIView 子视图不起作用

UIView animateKeyframes 不起作用

以编程方式创建 UIView 在 Xcode 11.1 中不起作用

scrapy,更改 amazon.de 的位置不起作用