2014-01-17 118 views
0

我正試圖在VSCO Cam中實現類似於照片選項欄的功能。我試圖用圖像設置它,只是想知道如何去做,但它不起作用。我無法找到任何能夠幫助我的教程或堆棧溢出帖子。UIScrollView無法正常工作

我是iOS開發新手,所以請和我一起裸照。

我認爲其中一個問題可能是因爲UIScrollView應該是水平的。

這裏是我的代碼:

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
// Do any additional setup after loading the view, typically from a nib. 


[self.scrollView setContentSize:CGSizeMake(646, 73)]; 

self.scrollView.scrollEnabled = YES; 


UIImage *bleh = [UIImage imageNamed:@"Digits 2 1"]; 

UIImageView *raaaa = [[UIImageView alloc]initWithImage:bleh]; 

[self.scrollView addSubview:raaaa]; 

} 

如果你能指導我在正確的方向,我真的很感激。謝謝。

+0

什麼是你要完成它?滾動?放大?截至目前它不會滾動,因爲你的內容大小與imageview大小相同 – Jack

+0

@JackWu我試圖讓它水平滾動 – user3186310

+0

嘗試將scrollview的內容大小水平放大。 [self.scrollView setContentSize:CGSizeMake(2000,73)]; – Jack

回答

0

所以你首先需要了解的是contentsize屬性。

滾動視圖內的子視圖是其「內容」。他們可以在視圖內以任何你想要的方式排列。

爲了讓它滾動,你需要讓scrollview知道它的內容佔用了多少「空間」。

就你而言,我猜測你的圖片尺寸是646 x 73。如果您將內容設置爲該內容,則滾動視圖不需要滾動,因爲它可以一次顯示所有內容。但是,當你增加它時,滾動視圖現在知道屏幕外有更多的內容,它將允許你滾動。

你需要明白的第二件事是子視圖的位置。如果將imageview的框架設置爲(0,0,646,73),則它將位於滾動視圖內的「最左側」位置。因此,它只會滾動到右側(您看到的白色空間)。

試試這個代碼,看看如果你能理解發生了什麼:

[self.scrollView setContentSize:CGSizeMake(1292, 73)]; 

UIImage *im = [UIImage imageNamed:@"Digits 2 1"]; 

UIImageView *v1 = [[UIImageView alloc]initWithImage:im]; 
UIImageView *v2 = [[UIImageView alloc]initWithImage:im]; 

v1.frame = CGRectMake(0,0,646,73); 
v2.frame = CGRectMake(646,0,646,73); 
[self.scrollView addSubView:v1]; 
[self.scrollView addSubView:v2]; 
+0

謝謝,這幫了一大筆錢。真的很感激它。 – user3186310