当前位置 : 主页 > 手机开发 > ios >

iOS视图在addSubview上重置

来源:互联网 收集:自由互联 发布时间:2021-06-11
我有一个带有方形图像的故事板中间位于:280,140(垂直) 当应用程序启动时,我可以通过按下按钮移动此imageView.我使用以下方法移动imageView: _mainImage.frame = CGRectMake(_mainImage.frame.origin.x
我有一个带有方形图像的故事板中间位于:280,140(垂直)
当应用程序启动时,我可以通过按下按钮移动此imageView.我使用以下方法移动imageView:

_mainImage.frame = CGRectMake(_mainImage.frame.origin.x + 2, _mainImage.frame.origin.y, _mainImage.frame.size.width, _mainImage.frame.size.height);

在应用程序运行时,我不断向mainView添加新的imageView:

UIImageView *imgView;
imgView = [[UIImageView alloc] initWithFrame:CGRectMake(0, yCoordinate, 50, 10)];
imgView.backgroundColor = [UIColor whiteColor];
[self.view addSubview:imgView];

每当我调用此代码时,我放置在中间并移动的方形图像视图将被设置回其起始位置.看起来每次调用addSubview时mainView都会“重置”.有没有办法在没有mainView“重置”的情况下添加子视图?

很可能您的视图是使用Autolayout设置的(这是故事板或笔尖的默认设置),当您添加新的子视图时,会执行布局传递,将您的视图位置重置为原始约束定义的位置.

您应该通过更新其约束来移动视图,或者关闭Autolayout.有许多文章解释如何做这些事情中的任何一个.

网友评论