2012-07-26 80 views
0

我有一個滾動視圖的子視圖作爲圖像..當我使圖片中心的滾動視圖,他們都出現在彼此的頂部作爲一個堆棧..我需要他們滾動水平..我該如何解決這個問題?這是到目前爲止我的代碼..scrollview堆疊圖像在彼此的頂部-xcode

- (void)viewDidLoad 
{ 

    [super viewDidLoad]; 

    for (int i = 1; i < 18; i++) { 
     UIImageView *images = [[UIImageView alloc] initWithImage:[UIImage imageNamed: [NSString stringWithFormat:@"%d.jpg", i]]]; 

     images.frame = CGRectMake((i-1)*320, 0, 320, 330); 

     [scroller setContentOffset:CGPointMake(0, 0)]; 
     [scroller addSubview:images]; 
     [images setContentMode:UIViewContentModeScaleAspectFill]; 
     [images sizeToFit]; 

     //center image 
     CGSize boundsSize = scroller.bounds.size; 
     CGRect frameToCenter = images.frame; 

     // center horizontally 
     if (frameToCenter.size.width < boundsSize.width) { 
      frameToCenter.origin.x = (boundsSize.width - frameToCenter.size.width)/2; 
      NSLog(@"%f", frameToCenter.origin.x); 
     } 
     else 
      frameToCenter.origin.x = 0; 

     // center vertically 
     if (frameToCenter.size.height < boundsSize.height) 
      frameToCenter.origin.y = (boundsSize.height - frameToCenter.size.height)/2; 
     else 
      frameToCenter.origin.y = 0; 

     images.frame = frameToCenter; 

     scroller.pagingEnabled = NO; 


    } 


    [scroller setContentMode:UIViewContentModeScaleAspectFit]; 

    scroller.delegate =self; 
    scroller.contentSize = CGSizeMake(320*17, 330); 
    scroller.backgroundColor = [UIColor blackColor]; 
    pageControl.numberOfPages =17; 
    pageControl.currentPage = 0; 
+1

代碼爲了吸引更多的答案,你應該添加相應的語言或工具標籤使用的是。你可以通過[編輯你的問題](http://stackoverflow.com/posts/11668799/edit)並在編輯頁面底部添加標籤來完成。 – assylias 2012-07-26 12:00:02

+0

你在使用什麼平臺?你是如何集中所述子視圖的?你能顯示一些代碼嗎? – entropy 2012-07-26 12:04:40

回答

0

水平居中的圖像只是使用下面

float scrollHeight = 0;  
    for (int col = 0; col < index; ++col) 
     { 
      CGRect selectFrame = CGRectMake(0,0,kOvrW,kOvrH); 
      selectionIndicator = [[UIImageView alloc] initWithFrame:selectFrame]; 
      selectionIndicator.contentMode = UIViewContentModeBottomRight; 
      [selectionIndicator setImage:[UIImage imageNamed:@"checked"]]; 
      CGRect frame = CGRectMake(5,kOvrPreY+col*(kOvrPreH+kOvrH),kOvrW,kOvrH); 
      UIView *fr = [[UIView alloc] initWithFrame:frame]; 

      CGRect imgFrame = CGRectMake(5, 4, 68, 55); 
      UIImageView *imgView = [[UIImageView alloc]initWithFrame:imgFrame]; 
      imgView.image = [UIImage imageNamed:[[subCategories objectAtIndex:col] valueForKey:@"add"]]; 

      UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tapAction:)]; 
      tapGesture.numberOfTapsRequired = 1; 
      tapGesture.numberOfTouchesRequired = 1; 
      [fr setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"small-thumb"]]]; 
      [fr addGestureRecognizer:tapGesture]; 
      [fr addSubview:imgView]; 
      fr.tag = col; 
      [subCatScroll addSubview:fr]; 

      [subCatScroll bringSubviewToFront:fr]; 
      scrollHeight += kOvrPreH+kOvrH; 
     } 
    subCatScroll.contentSize = CGSizeMake(subCatScroll.frame.size.width, scrollHeight+kOvrPreH);