Проблема с добавлением изображения в UIButton. - PullRequest
0 голосов
/ 01 февраля 2010

У меня другая проблема в приложении, и я трачу на это много времени. Может ли кто-нибудь помочь с этой проблемой.

На самом деле у меня было событие, и я должен дать оценку этому событию, для которого я написал код:

В CellForRowAtIndexPath ...... У меня был код:

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

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"MasterViewIdentifier"];
    //UITableViewCell *cell = nil;
    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)
     {
      UIImage *whiteImg = [UIImage imageNamed:@"white_star.png"] ;
      UIImage *yellowImg = [UIImage imageNamed:@"yellow_Star.png"] ;
      UIButton *button1 = [[UIButton alloc]initWithFrame:CGRectMake(159, 15, 25, 20)];
      [button1 addTarget:self action:@selector(buttonAction:) forControlEvents:UIControlEventTouchUpInside];
      button1.tag = 1;
      UIButton *button2 = [[UIButton alloc]initWithFrame:CGRectMake(185, 15, 25, 20)];
      [button2 addTarget:self action:@selector(buttonAction:) forControlEvents:UIControlEventTouchUpInside];
      button2.tag = 2;
      UIButton *button3 = [[UIButton alloc]initWithFrame:CGRectMake(211, 15, 25, 20)];
      [button3 addTarget:self action:@selector(buttonAction:) forControlEvents:UIControlEventTouchUpInside];
      button3.tag = 3;
      UIButton *button4 = [[UIButton alloc]initWithFrame:CGRectMake(237, 15, 25, 20)];
      [button4 addTarget:self action:@selector(buttonAction:) forControlEvents:UIControlEventTouchUpInside];
      button4.tag = 4;
      UIButton *button5 = [[UIButton alloc]initWithFrame:CGRectMake(263, 15, 25, 20)];
      [button5 addTarget:self action:@selector(buttonAction:) forControlEvents:UIControlEventTouchUpInside];
      button5.tag = 5;
      if(event.eventRatings == 1)
      {

       [button1 setBackgroundImage:yellowImg forState:UIControlStateNormal];
       [button2 setBackgroundImage:whiteImg forState:UIControlStateNormal];
       [button3 setBackgroundImage:whiteImg forState:UIControlStateNormal];
       [button4 setBackgroundImage:whiteImg forState:UIControlStateNormal];
       [button5 setBackgroundImage:whiteImg forState:UIControlStateNormal];

      }
      else if(event.eventRatings == 2)
      {
       [button1 setBackgroundImage:yellowImg forState:UIControlStateNormal];
       [button2 setBackgroundImage:yellowImg forState:UIControlStateNormal];
       [button3 setBackgroundImage:whiteImg forState:UIControlStateNormal];
       [button4 setBackgroundImage:whiteImg forState:UIControlStateNormal];
       [button5 setBackgroundImage:whiteImg forState:UIControlStateNormal];       
      }
      else if(event.eventRatings == 3)
      {
       [button1 setBackgroundImage:yellowImg forState:UIControlStateNormal];
       [button2 setBackgroundImage:yellowImg forState:UIControlStateNormal];
       [button3 setBackgroundImage:yellowImg forState:UIControlStateNormal];
       [button4 setBackgroundImage:whiteImg forState:UIControlStateNormal];
       [button5 setBackgroundImage:whiteImg forState:UIControlStateNormal];        
      }
      else if(event.eventRatings == 4)
      {

       [button1 setBackgroundImage:yellowImg forState:UIControlStateNormal];
       [button2 setBackgroundImage:yellowImg forState:UIControlStateNormal];
       [button3 setBackgroundImage:yellowImg forState:UIControlStateNormal];
       [button4 setBackgroundImage:yellowImg forState:UIControlStateNormal];
       [button5 setBackgroundImage:whiteImg forState:UIControlStateNormal];

      }
      else if(event.eventRatings == 5)
      {
       [button1 setBackgroundImage:yellowImg forState:UIControlStateNormal];
       [button2 setBackgroundImage:yellowImg forState:UIControlStateNormal];
       [button3 setBackgroundImage:yellowImg forState:UIControlStateNormal];
       [button4 setBackgroundImage:yellowImg forState:UIControlStateNormal];
       [button5 setBackgroundImage:yellowImg forState:UIControlStateNormal];
      }
      else
      {
       [button1 setBackgroundImage:whiteImg forState:UIControlStateNormal];
       [button2 setBackgroundImage:whiteImg forState:UIControlStateNormal];
       [button3 setBackgroundImage:whiteImg forState:UIControlStateNormal];
       [button4 setBackgroundImage:whiteImg forState:UIControlStateNormal];
       [button5 setBackgroundImage:whiteImg forState:UIControlStateNormal];
      }

      [elementView addSubview:button1];
      [button1 release];
      [elementView addSubview:button2];
      [button2 release];
      [elementView addSubview:button3];
      [button3 release];
      [elementView addSubview:button4];
      [button4 release];
      [elementView addSubview:button5];
      [button5 release];

      if(isRightButton == YES)
      {
       button1.enabled = NO;
       button2.enabled = NO;
       button3.enabled = NO;
       button4.enabled = NO;
       button5.enabled = NO;       
      }
      else if(isRightButton == NO)
      {
       button1.enabled = YES;
       button2.enabled = YES;
       button3.enabled = YES;
       button4.enabled = YES;
       button5.enabled = YES;       
      }


      [elementView addSubview:ratingsTitleLabel];
      cell.accessoryType = UITableViewCellAccessoryNone;
     }
return cell;
}

And the action of the button is written as:

    -(void)buttonAction:(id)sender
    {
     rating = [sender tag];
     printf("\n Ratig Value inside Button Action~~~~~~~~~~~~~~~~%d",rating);
     event.eventRatings = rating;
     [tableView reloadData];    
    }

Когда я создаю приложение в симуляторе 3.1.2 O.S, оно работает нормально, отображая изображения звезд. Моя проблема заключается в том, что я создаю его в устройстве 3.1.2 O.S. Изображения не отображаются. Я проверил код на чувствительность к регистру в имени файла и его gud, но я не могу получить изображения для отображения.

Ребята, помогите мне решить эту проблему.

Спасибо, Мониш Кумар.

1 Ответ

0 голосов
/ 01 февраля 2010

Попробуйте это: - удалить приложение с iPhone - очистить все тегеты из меню сборки - скопируйте ваши изображения в другой каталог - удалить изображения из проекта (при удалении нажмите «Также переместить в корзину») - добавьте свои изображения снова - Построй и иди

Надеюсь, это сработает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...