2010-11-28 3 views
1

Après avoir ajouté TTLauncherItem dans TTLauncherView, je veux changer l'image pour l'TTLauncherItem ajoutéProblème de Three20: Comment rafraîchir TTLauncherItem/changer l'image

Mais quand je l'ai changé la valeur de l'image, il ne fonctionnait pas.. Il n'y a pas de changement sur la vue.

Comment puis-je rafraîchir l'image de TTLauncherItem immédiatement?

Merci avancé ~~~~

la méthode init est,

for (int i = 0; i < pages; i++) { 

    NSMutableArray* pageArray = [NSMutableArray array]; 
    for (int j = 0; j<pageCount && (j+i*pageCount)<[titleArray count]; j++) { 

     [pageArray addObject:[[[TTLauncherItem alloc] initWithTitle:[titleArray objectAtIndex:(j+i*pageCount)] 
                   image:@"bundle://Icon.png" 
                   URL:@"tt://setUp" 
                  canDelete:NO] autorelease]]; 
    } 
    [pagesArray addObject:pageArray]; 
} 

_launcherView.pages = [NSArray arrayWithArray:pagesArray]; 

[self.view addSubview:_launcherView]; 

///////// ci-dessous les lignes changent.

TTLauncherItem *testItem = [[pagesArray objectAtIndex:0] objectAtIndex:0]; 
testItem.image = @"bundle://defaultMusic2.png"; 

/////////////

mais si je propose que d'autres méthodes telles que mon ImageDidLoad, puis obtenir l'objet TTLauncherItem, changer l'image de cela, il ne fonctionne pas du tout ... ou ceci:

- (void)launcherView:(TTLauncherView*)launcher didSelectItem:(TTLauncherItem*)item { 
TTLauncherItem *testItem = [[_launcherView.pages objectAtIndex:0] objectAtIndex:4]; 
testItem.image = @"bundle://defaultMusic2.png"; 

}

Répondre

0

Je ne sais pas si cela correspond à vos besoins (et certes pas la plus jolie solution), mais vous pouvez supprimer l'ancien TTLaunche rView à partir de la vue d'ensemble et recréer la vue du lanceur avec la nouvelle image.

0

il suffit de travailler.

enregistrez d'abord les pages, puis modifiez-les, puis restaurez-les.

NSArray *pages = [_launcherView.pages copy]; 

    // here to amend the items 
    // something like item.xxx=xxx; 
    [_launcherView setPages:pages]; 
    [pages release]; 

Bonne chance!