我有一个带有方形图像的故事板中间位于:280,140(垂直) 当应用程序启动时,我可以通过按下按钮移动此imageView.我使用以下方法移动imageView: _mainImage.frame = CGRectMake(_mainImage.frame.origin.x
当应用程序启动时,我可以通过按下按钮移动此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.有许多文章解释如何做这些事情中的任何一个.