2011-04-21 3 views
0

J'essaie de faire une vue ressemblant presque à l'info-vue dans appStore, avec du texte sur la première moitié de la vue et des images sur la seconde moitié. J'ai essayé d'utiliser un scrollview dans un autre scrollview. La première vue (contenant un textview sur la moitié supérieure et une scrollview sur la moitié inférieure) défile bien, mais la scrollview en bas (contenant plusieurs images) ne défile pas.Xcode: Scrollview avec des images dans scrollview

Des idées pour faire défiler la deuxième scrollview? ScrollView est la vue contenant une vue de texte et une vue de défilement.
imageScrollView est la vue avec les images vues.

[scrollView setContentSize:CGSizeMake(320, 585)]; 
[imageScrollView setContentSize:CGSizeMake(1520, 400)]; 

Répondre

1

Je me suis récemment rendu compte moi-même, mais j'ai oublié de poster la réponse. Le problème était que j'ai mis les tailles des scrollviews en .xib aux mêmes tailles que dans le code. Quand je l'ai changé à 320,416 et 320,400 j'ai pu les faire défiler avec le setContentSize. Dans l'imageScrollView, j'ai ensuite ajouté des images le long de l'axe des x (première image à 0, seconde à la largeur de l'image + un petit espace et ainsi de suite). J'espère que cela pourrait aider quelqu'un.

0

EST ICI CODE DE défilement vue d'afficher des images à partir de documents Répertoire byType Web Images qui Seved par l'utilisateur de l'iPhone Galerie de photos

- (void)viewDidLoad { 
int scrollviewwidh = 120; 

self.view.backgroundColor = [UIColor darkTextColor]; 

hiImage = [[UIImageView alloc]initWithFrame:CGRectMake(10, 10, 300, 240)]; 
hiImage.backgroundColor = [UIColor blackColor]; 




hiImage.userInteractionEnabled = YES; 

[hiImage.layer setBorderColor:[UIColor blackColor].CGColor]; 
[hiImage.layer setBorderWidth:2.01f]; 
[self.view addSubview:hiImage]; 
[hiImage release]; 
scroll=[[UIScrollView alloc]initWithFrame:CGRectMake(0, 260, 320, 110)]; 
[self.view addSubview:scroll]; 
scroll.showsHorizontalScrollIndicator = NO; 
scroll.pagingEnabled=YES; 
scroll.delegate=self; 
scroll.contentSize=CGSizeMake(scrollviewwidh,80); 
scroll.showsVerticalScrollIndicator =YES; 
scroll.backgroundColor = [UIColor darkTextColor]; 


} 

-(void) viewWillAppear:(BOOL)animated{ 
self.fileManager = [NSFileManager defaultManager]; 
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory , NSUserDomainMask, YES); 
self.documentsDir = [paths objectAtIndex:0]; 
NSLog(@"the ----------- %@",documentsDir); 

for (UIButton * img in self.scroll.subviews) { 
    [img removeFromSuperview]; 
    img = nil; 
} 
int xoffcet = 0; 
int col = 0; 
int scrollviewwidh = 120; 

for (NSString* fileName in [self.fileManager contentsOfDirectoryAtPath: self.documentsDir error:nil]){ 
    if ([fileName rangeOfString:@".png"].location != NSNotFound ) { 

     NSLog(@"add %@", fileName); 
     UIImage* img = [UIImage imageWithContentsOfFile: 
         [self.documentsDir stringByAppendingPathComponent:fileName] 
         ]; 

     imgView = [[UIButton alloc] init]; 
     [imgView setImage:img forState:UIControlStateNormal]; 




     [imgView addTarget:self action:@selector(imageViewClicked:) forControlEvents:UIControlEventTouchUpInside]; 
     [imgView.layer setBorderColor:[UIColor lightGrayColor].CGColor]; 
     [imgView.layer setBorderWidth:1.0f]; 
     imgView.bounds = CGRectMake(10,10, 50, 50); 
     imgView.frame = CGRectMake(5+xoffcet, 0, 160, 110); 





     scroll.contentSize =CGSizeMake(scrollviewwidh+xoffcet,110); 
     [scroll addSubview:imgView]; 
     [imgView release]; 
     xoffcet +=170; 

    } 

    if (col++>1) { 
     //row++; 
     col = 0; 
    } 
} 




    self.title = @"saved Photo"; 
// [scroll release]; 
[super viewDidLoad]; 
// scroll.pagingEnabled = YES; 

self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc]initWithBarButtonSystemItem: 
             UIBarButtonSystemItemCancel 
                        target:self 
                        action:@selector(photogallary:)]; 



} 

-(IBAction)imageViewClicked:(UIButton *)sender{ 


for (NSString* fileName in [self.fileManager contentsOfDirectoryAtPath: self.documentsDir error:nil]){ 
    if ([fileName rangeOfString:@".png"].location != NSNotFound ) { 

     NSLog(@"add %@", fileName); 
     UIImage* img = [UIImage imageWithContentsOfFile: 
         [self.documentsDir stringByAppendingPathComponent:fileName]]; 


     hiImage.image = img; 
    } 
} 
} 

All The Very Best, je l'espère son utile Thank You Si c'est le code d'aide s'il vous plaît Donnez votre avis