English 中文(简体)
在UITableViewCell中更新UIButton上的imageView
原标题:Updating imageView on UIButton within UITableViewCell

我的习惯是<代码>可调用的密码(在接口建设商中重新编号),用于静态<编码>可调用的密码<<>可调用的>。 AddUserTableViewController (即我没有使用自动释放的囚室,因为我只有5个牢房。)

在顶部单元格(用于<强>用户名)中,我嵌入了一个<代码> UIButton ,我用它来打开<代码> UIActionSheet ,该操作表再允许<代码> UIImagePicker 在UIButton上设置图像(即<代码> [button.imageView.image = imageFromImagePicker] )。按钮有一个默认图像(在IB中添加),上面写着“添加图像”。

按钮上的图像设置没有问题,并且即使我导航到任何表单单元格的详细信息页面,其中包括用户名单元格,该图像仍保持在原位。当我选择此单元格时,图像消失,并且一旦我从“添加名称”详细视图导航回 AddUserTableViewController ,它不会重新出现。上述的“添加图像”默认图像将被显示。

我已尝试过许多策略,其中包括:

1) 在 viewWillAppear 方法中使用 [self.tableView reloadData][button.imageView setNeedsDisplay][self.view setNeedsDisplay]

2) 在cellForRowAtIndexPath方法中使用上述方法;

3)在重写的willDisplayCell:forRowAtIndexPath:方法中使用上述方法;

当我在程序中放置调试NSLog语句时,我可以看到button.imageView.image属性仍然设置为使用UIImagePicker选择的图像,但它没有显示出来(从nib中的默认图像显示)。

正如我前面提到的那样,只有我放弃了,才能实现这一点。 AddUserTableViewController , 选择了<>UITableViewCell,其中含有Button

我目前不知道该怎么做,如果有人能提供任何帮助,我将非常感激。我只需要找到一种在上述情况下更新嵌入式UIButton图像的方法。

我只是为了说明目的,添加了cellForRowAtIndexPath:方法中的代码部分 -

//populates the personal info section
if (section == kPersonalInfoAddSection) {

    //Covers the add image button and the name adding field
    if (row == kNameRow) {


        UILabel *nameLabel = (UILabel *)[nameCell viewWithTag:kMainTextTag];
        UILabel *reqLabel = (UILabel *) [nameCell viewWithTag:kSubTextTag];
        //UIButton *imageButton = (UIButton *) [nameCell viewWithTag:kImageTag];

        if (mainUser.imagePath != nil) {

            UIImage *img = [UIImage imageWithContentsOfFile:mainUserImagePath];
            imageButton.imageView.image = img;
            [imageButton.imageView setNeedsDisplay];
            //[imageButton setNeedsDisplay];
            //[nameCell setNeedsDisplay];
            NSLog(@"************************** Added the BESPOKE image (%@)to the image button", img);
        }
        else {
            NSLog(@"************************** Added the DEFAULT image (%@)to the image button", addUserImage);
            imageButton.imageView.image = addUserImage;
        }


        UIColor *blackText = [[UIColor alloc] initWithWhite:0 alpha:1];


        NSString *firstName;

        if (mainUser.firstName){

            nameLabel.textColor = blackText;
            firstName = mainUser.firstName;

        }
        else {

            nameLabel.textColor = reqLabel.textColor;
            firstName = NAME_STRING;
        }

        NSString *lastName = (mainUser.lastName)? mainUser.lastName : EMPTY_STRING;


        NSString *name = [[NSString alloc] initWithFormat:@"%@ %@", firstName, lastName];

        nameLabel.text = name;
        reqLabel.text = REQUIRED_STRING;

        [blackText release];

        return nameCell;

    }
问题回答

cellForRowAtIndexPath中,您是否正在进行卸载图像的操作?





相关问题
Code sign Error

I have created a new iPhone application.I have two mach machines. I have created the certificate for running application in iPhone in one mac. Can I use the other mac for running the application in ...

ABPersonViewController Usage for displaying contact

Created a View based Project and added a contact to the AddressBook using ABAddressBookRef,ABRecordRef now i wanted to display the added contact ABPersonViewController is the method but how to use in ...

将音频Clips从Peter改为服务器

我不禁要问,那里是否有任何实例表明从Peit向服务器发送音响。 I m不关心电话或SIP风格的解决办法,只是一个简单的袖珍流程......

• 如何将搜查线重新定位?

我正试图把图像放在搜索条左边。 但是,问题始于这里,搜索条线不能重新布署。

热门标签