problem in adding image to the UIButton.
- by monish
Hi friends,
I got an another problem in my application and I am wasting so much of time on that.
Does pls anyone can help with this problem.
Actually I had an Event and I should give rating for that event for that I wrote the code as:
In CellForRowAtIndexPath......I had the code as:
- (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];
}
When I build the application in simlator of 3.1.2 O.S its working fine by displaying the star images.
My porblem is when I build it in 3.1.2 O.S Device the images are not displaying.I checked the code for casesensitivity in file name and its gud but Im not gettig the images to display.
Guys help me to solve this.
Thank you,
Monish Kumar.