2014-04-02 28 views
3

复位我有一个在中间的方形ImageView的故事板:280140(垂直) 应用程序启动时,我能够通过按下按钮来移动该ImageView的。的iOS查看大干快上addSubview

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

,同时应用程序运行时我不断加入新的imageViews到MAINVIEW:

UIImageView *imgView; 
imgView = [[UIImageView alloc] initWithFrame:CGRectMake(0, yCoordinate, 50, 10)]; 
imgView.backgroundColor = [UIColor whiteColor]; 
[self.view addSubview:imgView]; 
每次我把这个代码平方的ImageView

我已经摆在中间,我用移动的ImageView四处移动,回到起始位置。每次调用addSubview时,似乎mainView都会“重置”。有没有什么办法可以添加一个子视图,而无需mainView“重置”?

回答

7

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

你应该通过更新其限制移动视图,或关闭自动布局。有很多文章解释如何做这些事情。

+0

谢谢你,我会尝试一下。我无法找到谷歌的解决方案,因为我似乎是唯一的愚蠢得到这个错误。 –

+0

真棒完美!感谢您的帮助! –

+1

你不是一个傻瓜,你绝对不是唯一一个:) – jrturton