2013-12-14 59 views
-1

在我的iOS應用程序中,我有一個滾動視圖,其中有許多圖像和文字瀏覽。 我必須將所有這些視圖移動到一個固定值,但我不想將它們移動到左側,右側或調整它們。我只是想把它們放在一個事件上。問題是我不知道這些UIView的值是哪一個。移動不同的UIView在UIScrollView

這是我的代碼:

for(UIView* subview in [myScrollView subviews]) 
{ 
    subview.frame = CGRectMake(0, 0, screenWidth, screenHeight); 
} 

我想做到這一點:

for(UIView* subview in [myScrollView subviews]) 
{ 
    subview.frame = CGRectMake(previousValue+100, previousValue, previousValue, previousValue); 
} 

我希望我解釋自己

回答

2

如果你只想將它們向下移動,爲什麼你不只是設置scrollView的contentInset?

scrollView.contentInset = UIEdgeInsetsMake(100, previousValue, previousValue, previousValue); 

這將使所有的子視圖關閉。

+0

我不能,我想是因爲我有在滾動型 – lubilis

+0

OK的頂部插入其他視圖下移到這些觀點,在這種情況下你不復位你的子視圖的框架。只需設置你的子視圖:'subView.center = CGPointMake(subView.center.x,subView.center.y + 50)',這樣你就不必知道這些子視圖的任何值。 – johnMa

+0

太棒了!謝謝! – lubilis

0

嘗試這樣:

UIView *lastView; 
for(UIView* subview in [myScrollView subviews]) 
{ 
    CGrect lastFrame; 
    if (!lastView) { 
     lastFrame = CGRectMake(0,0,100,100); // your initial frame 
    } else { 
     lastFrame = lastView.frame; 
    } 
    lastFrame.origin.x += 100; 
    subview.frame = lastFrame; 
    lastView = subview; 
}