2016-01-20 54 views
0

在實現UIScrollView兩天後,我放棄了自己做,儘管它應該很簡單,但我無法做到。實現垂直UIScrollView

我需要自動佈局垂直滾動視圖(我有2個背景需要縮放圖像),我的Xcode 7.2,iOS的部署目標9.0和我使用的是故事板

滾動視圖是一個「新帳戶」形式有很多的內容,所以它可以有一個固定的高度

我嘗試了很多選擇,但沒有人工作,在我有一個「內容視圖」的所有組件的滾動視圖。

問題: 1.-如何在scrollview中放置更多內容?如果我嘗試放置更多的組件(超過ViewControler的高度),它會自動將我的組件移動到ViewController矩形內

2.-如何讓它可滾動?如果我腳的內容視圖的頂部,底部,左,右和固定高度使它(如1000),它不滾動

任何幫助,將不勝感激

+0

從我的經驗,如果你想使用scrollview而不是tableview。以編程方式執行它比較容易,即使用框架創建視圖,將其作爲子視圖添加到滾動視圖並設置滾動視圖內容大小。 – Surely

+0

但它將是一個痛苦的屁股添加所有組件編程! – D4rWiNS

+1

如果視圖很複雜,您仍然可以在故事板中創建它,然後連接到您的課程。然後將其添加爲子視圖。 – Surely

回答

1

滾動視圖會滾動,直至年底最後一個UI對象。但這不是scrollview的默認行爲。您應該在滾動視圖上明確設置contentSize。檢查下面的例子。

-(void)addImage { 
    int count = 20; 
    UIScrollView * scView = [[UIScrollView alloc] init]; 
    scView.frame = CGRectMake(30, 60, self.view.frame.size.width, 60); 
    UIButton * btn; 
    UIImageView * imgV; 
    float imgWidth = 44; 
for(int i=0;i<count;i++) { 
    imgV = [[UIImageView alloc] init]; 
    imgV.frame = CGRectMake(i*imgWidth, 0, imgWidth, 44); 
    imgV.image = [UIImage imageNamed:@"gitar"]; 
    [scView addSubview:imgV]; 
} 
[scView setContentSize:CGSizeMake(imgWidth*count, 50)]; 
[scView setBackgroundColor:[UIColor redColor]]; 
[self.view addSubview:scView]; 
} 

上述方法做什麼,它就會在滾動視圖,並在年底將所有的圖像for環路我設置contentSize以滾動型對滾動型後加20倍的圖像。這一步使我的滾動視圖滾動,直到可用的內容。我的示例顯示爲水平滾動,您必須將此行爲更改爲垂直滾動。

+0

但這個滾動視圖不會在X父母的權利中心?它會在X軸上放上30個單位 – D4rWiNS

+0

我剛剛在這裏向您展示了一個示例。根據您的要求創建一個滾動視圖。而且在我的循環方法中,我增加了'x'原點,這就是爲什麼它是一個水平滾動視圖。你應該增加'y'的來源,使其成爲一個垂直滾動視圖。在設置contentSize的方法結束時,我將增加寬度值'imgWidth * count',您應該增加高度值,即代替'50'來指定高度值。 –