2010-01-25 5 views
0

Mon problème est que j'ai un bouton personnalisé et ImageView auquel j'ai ajouté l'image.J'ai fait cette imageVoir le bouton personnalisé comme une sous-vue.quand je l'exécute dans le simulateur il workin bien, mais quand je l'ai exécuté dans le périphérique il n'affichait pas l'image dans le bouton.UIButton personnalisé avec UIImageView ne fonctionne pas très bien sur l'appareil

J'écrit le code comme:

Dans cellForRowtIndexPath

- (UITableViewCell *)tableView:(UITableView *)tv cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"MasterViewIdentifier"]; 
if (cell == nil) 
{ 

    cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:@"MasterViewIdentifier"] autorelease]; 
    cell.selectionStyle = UITableViewCellSelectionStyleNone; 

    UIView* elementView = [[UIView alloc] initWithFrame:CGRectMake(20,170,320,280)]; 
    elementView.tag = 0; 
    elementView.backgroundColor=[UIColor clearColor]; 
    [cell.contentView addSubview:elementView]; 
    [elementView release]; 

} 
UIView* elementView = [cell.contentView viewWithTag:0]; 
elementView.backgroundColor=[UIColor clearColor]; 
for(UIView* subView in elementView.subviews) 
{ 
    [subView removeFromSuperview]; 
} 
     if(indexPath.section == 8) 
    { 
      imageView.image = [UIImage imageNamed:@"yellow_Star.png"]; 
      MyCustomButton *button1 = [[MyCustomButton alloc]initWithRating:1]; 
    [button1 setFrame:CGRectMake(159, 15, 25, 20)]; 
    [button1 setShowsTouchWhenHighlighted:YES]; 
    [button1 addTarget:self action:@selector(buttonAction:) forControlEvents:UIControlEventTouchUpInside]; 
    [button1 addSubview:imageView]; 
    [elementView addSubview:button1]; 
    [button1 release]; 
    [imageView release]; 
     } 
return cell; 
} 

et dans mon buttonAction:

-(void)buttonAction:(MyCustomButton*)sender 
{ 
rating = [sender ratingValue]; 
event.eventRatings = rating; 
[tableView reloadData]; 

} 

et je MyCustomButton classe: j'ai une méthode comme

-(MyCustomButton*) initWithRating:(NSInteger)aRatingValue 
{ 
if (self = [super init]) 
{ 
    self.ratingValue = aRatingValue; 
} 
return self; 
} 

pls aider les gars du problème de dis.

Merci, Monish.

Répondre

0

Vous essayez de charger l'image nommée "yellow_Star.png" - vérifiez si elle s'appelle effectivement ainsi (avec le même cas de caractères). Système de fichiers sur iPhone est sensible à la casse et sur Mac OS n'est pas - donc c'est souvent provoque de tels problèmes et les noms de fichiers est la première chose à regarder.

Edit: Vous pouvez également essayer de vérifier si l'image est présente dans le faisceau d'application - peut être il a été retiré des ressources de copie construire étape par hasard, c'est votre image doit être dans un « Ressources Bundle copie » construire l'étape pour votre cible de construction. Si elle est absente, vous pouvez simplement glisser et déposer votre image là-bas.

+0

Oui J'avais donné le même nom avec sensible à la casse seulement. Même si elle n'affichait pas l'image dans le bouton. – monish

+0

Vous pouvez également essayer de vérifier si l'image est présente dans le paquet d'application - peut-être a-t-il été retiré des ressources de copie construire par hasard – Vladimir

+0

En fait, les images sont présentes dans le dossier de l'application, il n'était pas présent dans le bundle d'applications. obtenir ces images à partir du dossier de l'application dans le dossier Ressources dans le Xcode. – monish

Questions connexes