2015-12-03 58 views
0

我需要在視圖中水平滾動2個圖像。我已經很好地實現了單個圖像滾動,但沒有在滾動視圖中顯示多個圖像。我附上了單個滾動的代碼。下面是我需要實現的附加圖片。 enter image description hereUIScrollView具有多個圖像水平

galleryScrollView = [UIScrollView new]; 
galleryScrollView.pagingEnabled = YES; 
galleryScrollView.backgroundColor = [UIColor clearColor]; 
galleryScrollView.translatesAutoresizingMaskIntoConstraints = NO; 
galleryScrollView.showsHorizontalScrollIndicator = NO; 
galleryScrollView.showsVerticalScrollIndicator = NO; 
galleryScrollView.delegate = self; 
galleryScrollView.scrollEnabled = YES; 
[backView addSubview:galleryScrollView]; 

for(int i=0;i<resultDict.count;i++) { 

    CGRect frame; 
    frame.origin.x= galleryScrollView.frame.size.width *i; 
    frame.origin.y=0; 
    frame.size=galleryScrollView.frame.size; 

    UIImageView *imageView = [[UIImageView alloc] initWithFrame:frame]; 
    imageView.contentMode = UIViewContentModeScaleAspectFill; 
    imageView.translatesAutoresizingMaskIntoConstraints = YES; 
    imageView.clipsToBounds = YES; 

    NSString *imageString = [[resultDict valueForKey:@"ImageURL"] objectAtIndex:i]; 
    [imageView setImageWithURL:[NSURL URLWithString:imageString]]; 
    [galleryScrollView addSubview:imageView]; 
} 
galleryScrollView.contentSize=CGSizeMake(galleryScrollView.frame.size.width * resultDict.count, galleryScrollView.frame.size.height); 
+0

在屏幕上你想在一次顯示一個圖像? – ilesh

+0

不,我想在一個屏幕上顯示2張圖像 – Kashif

+0

比您需要在圖像之間添加視圖,它可以幫助您滾動圖像 – ilesh

回答

0

enter image description here

正如你可以在上面看到我花了兩個樣本圖像與背景顏色藍色和灰色。在滾動視圖中。在編碼部分一個海軍報變了滾動「currScrollXPosition」當前滾動X位置

[self.scrollView setScrollEnabled:YES]; 
[self.scrollView setContentSize:CGSizeMake(self.scrollView.frame.size.width*4, self.scrollView.frame.size.height)]; 
[self.scrollView setPagingEnabled:YES]; 

currScrollPosition = 0; 

現在你只需要給行動,這些按鈕 爲上一個按鈕

- (IBAction)prevBtnClicked:(id)sender { 

if(currScrollPosition > 0){ 
[self.scrollView setContentOffset:CGPointMake(currScrollPosition-self.scrollView.frame.size.width, self.scrollView.contentOffset.y) 
         animated:YES]; 
    currScrollPosition = currScrollPosition-self.scrollView.frame.size.width; 

}} 

,併爲下一個按鈕

- (IBAction)nextBtnClicked:(id)sender { 

if(currScrollPosition < self.scrollView.contentSize.width){ 
[self.scrollView setContentOffset:CGPointMake(currScrollPosition+self.scrollView.frame.size.width, self.scrollView.contentOffset.y) 
         animated:YES]; 
    currScrollPosition = currScrollPosition+self.scrollView.frame.size.width; 

}} 

它肯定會適合你。好運

1

的問題是,你想在一個屏幕上兩個圖像,但你讓每個圖像幀是屏幕的大小,產地是關閉的。要改變原點與

frame.origin.x= galleryScrollView.frame.size.width *i/2; 

更換

frame.origin.x= galleryScrollView.frame.size.width *i; 

同樣,你也需要改變frame.size

+0

我沒有看到您爲您的滾動視圖設置了框架,並且uiimageview的寬度不正確: –

0

我沒有看到你的滾動視圖和的UIImageView的寬度設定框架是不正確的,它必須

frame.origin.x= galleryScrollView.frame.size.width/2 *i 

galleryScrollView.contentSize=CGSizeMake(galleryScrollView.frame.size.width/2 * resultDict.count, galleryScrollView.frame.size.height); 

但是,我認爲這是更好,如果你使用UICollection展示您的產品。