2010-06-03 7 views
1

Aidez-moi. addSubview ne fonctionne pas. Je veux ajouter "ContentView" sur scrollView. Mais "ContentView" n'apparaît pas à l'écran. "ContentView" est UIView.ne fonctionne pas correctement. addSubview probleme

Lorsque je passe à self.view = scrollView à partir de [self.view addSubview: scrollView], addSubview ne fonctionne pas.

S'il vous plaît apprenez-moi comment ajouter UIView sur cet écran !!

- (void)viewDidLoad { 
[super viewDidLoad]; 

scrollViewMode = ScrollViewModeNotInitialized; 
mode = 1; 
imageViewArray = [[NSMutableArray alloc] init]; 
mainStatic = [[MainStatics alloc] init];  
[mainStatic setSetting]; 
NSString* path = [[NSBundle mainBundle] pathForResource:@"Files" ofType:@"plist"];  
NSArray* dataFiles = [NSArray arrayWithContentsOfFile:path];  
kNumImages = [dataFiles count]; 

CGRect frame = [UIScreen mainScreen].applicationFrame; 
scrollView = [[touchClass alloc] initWithFrame:frame]; 
scrollView.delegate = self; 
scrollView.maximumZoomScale = 5.0f; 
scrollView.minimumZoomScale = 1.0f; 
[scrollView setBackgroundColor:[UIColor blackColor]]; 
[scrollView setDelegate:self]; 
scrollView.delaysContentTouches=NO; 
scrollView.userInteractionEnabled = YES; 
[scrollView setCanCancelContentTouches:NO]; 

NSUInteger i;             
for (i=0;i<[dataFiles count];i++) 
{ 
    UIImage* image = [UIImage imageNamed:[dataFiles objectAtIndex:i]]; 
    UIImageView *imageView = [[UIImageView alloc] initWithImage:image]; 
    imageView.contentMode = UIViewContentModeScaleAspectFit;     
    imageView.userInteractionEnabled = NO;         
    CGRect rect = imageView.frame;           
    rect.size.height = 480;         
    rect.size.width = 320;          
    imageView.frame = rect;             
    imageView.tag = i+1;                  
      [imageViewArray addObject:imageView]; 
} 

self.view = scrollView; 

[self setPagingMode]; 
UIView* contentView;            
CGRect scRect = CGRectMake(0, 436, 320, 44);      
contentView = [[UIView alloc] initWithFrame:scRect]; 
[contentView addSubview:toolView];        
[self addSubview:contentView];        

}

Répondre

0

Source est pas claire. Vous n'utilisez jamais de tableau avec UIImageView. Il n'y a aucune info ce qui est toolView etc ... S'il vous plaît fournir une source plus détaillée. Est-ce que touchClass est une sous-classe de UIScrollView?

Ce que je remarqué dans votre code:

  1. Vous ne relâchez image et imageView. Toutes ces images seront vues. A la fin de la boucle, vous devez ajouter [imageView release]; et [image release];
  2. Je ne pense pas que ce soit une bonne idée d'envoyer [self addSubview:contentView]; Essayez d'utiliser [self.view addSubview:contentView];
+0

Merci. Veuillez vérifier mon nouveau commentaire. – kyoheialfaromeo2010

1

je tableau d'image en fonction suivante. toolView est UIView avec UIToolbar. Donc, je veux ajouter une barre d'outils à l'écran. Oui, touchClass est une sous-classe de UIScrollView. 1.Je vois.J'ai oublié de libérer ce.Merci. 2.OK. J'ai modifié ceci. Mais "ContentView" n'a pas apparu.

y a-t-il une autre raison?

- (void)setPagingMode { 

    CGSize pageSize = [self pageSize]; 
    NSUInteger page = 0; 
    for (UIView *view in imageViewArray){ 
     [scrollView addSubview:view]; 
     view.frame = CGRectMake(pageSize.width * page++, 0, pageSize.width, pageSize.height); 
    } 

    scrollView.pagingEnabled = YES; 
    scrollView.showsVerticalScrollIndicator = scrollView.showsHorizontalScrollIndicator = YES; 
    scrollView.contentSize = CGSizeMake(pageSize.width * [imageViewArray count], pageSize.height); 
    scrollView.contentOffset = CGPointMake(pageSize.width * currentPage, 0);  
    scrollViewMode = ScrollViewModePaging; 
} 
Questions connexes