2014-04-02 51 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