更换按钮图像显示奇怪的问题

时间:2015-05-11 10:37:06

标签: ios xcode ios8 uibutton uiimage

我有两张用于显示开/关的图像。一切都很完美。当我的设计师要求更换图像时,我替换了图像并替换了类中图像的名称。突然间,转换不再发生了。我使用了[button setImage:image forState:UIControlStateNormal];条件。我的病情很好。但图像永远不会改变。用旧图像替换这些图像对于相同的代码非常有效。

现在,我再次将其替换为新图像,并为Button添加了setBackgroundColor。奇怪的是,图像正在被取代。如果我拿走backgroundColor方法它就不起作用了。有谁知道为什么会这样?我认为图像也被设置为背景图像。但我没有在任何地方使用单个代码来设置背景图像。

更新

这是我设置图片的地方。在viewDidLoad中的位置

selectedImage = [UIImage imageNamed:kcheckSelected];
notSelectedImage = [UIImage imageNamed:kcheckUnselect];

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

    static NSString *identifier = @"cellIdentifier";

    UITableViewCell *cell = [tableview dequeueReusableCellWithIdentifier:identifier];
    if (cell == nil)
    {
        cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier];
        UIView *view = [[UIView alloc]initWithFrame:CGRectMake(15, 0, tableview.frame.size.width - 15, 1)];
        view.backgroundColor = [UIColor lightGrayColor];
        [cell.contentView addSubview:view];
    }


    NSString *sltd= [selectionArray objectAtIndex:indexPath.row];
    UIImage *image    = nil;
    UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(tableview.frame.size.width - 60, 5, 60, 50)];
     if ([sltd isEqualToString:@"yes"])
    {
        image = selectedImage;
    }
    else
    {
        image = notSelectedImage;
    }
    [button setBackgroundColor:[UIColor whiteColor]];

    button.tag = indexPath.row;
    [button addTarget:self action:@selector(selectButton:) forControlEvents:UIControlEventTouchUpInside];

    [button setImage:image forState:UIControlStateNormal];

    [cell.contentView addSubview:button];
    [cell.contentView bringSubviewToFront:button];

    User *userObj = [userArray objectAtIndex:indexPath.row];
    cell.textLabel.text = userObj.name;
    cell.textLabel.font = [UIFont fontWithName:@"Montserrat-Regular" size:17];
    if ([userObj.installOnIpad boolValue] == YES)
    {
        cell.imageView.image = [UIImage imageNamed:@"ipad-icon-active"];
    }
    else
    {
        cell.imageView.image = [UIImage imageNamed:@"ipad-icon-disabled"];
    }
    [cell setSelectionStyle:UITableViewCellSelectionStyleNone];
    return cell;
}

0 个答案:

没有答案