如何将自定义图像放在表格视图单元格中

时间:2011-10-07 12:08:32

标签: iphone objective-c xcode

在我的应用程序中,我必须在tableview单元格中实现复选框功能。通过单击该复选框,将在同一单元格中创建另一个标签.1如何实现复选框功能?我创建了自定义单元格。这是我尝试的代码,但它不起作用。

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

      UIButton *btnUncheck=[[UIButton alloc] initWithFrame:CGRectMake(260, 35, 20, 20)];

   btnUncheck=[UIButton buttonWithType:UIButtonTypeCustom];
     btnUncheck.tag=indexPath.row;
// [btnUncheck setImage:[UIImage imageNamed:@"NO.png"] forState:UIControlStateNormal];
[btnUncheck addTarget:self action:@selector(checkBoxClicked:)   forControlEvents:UIControlEventTouchUpInside];

[view addSubview:btnUncheck]



    -(void)checkBoxClicked:(id)sender{


     if(favoriteChecked==NO)
 {


    [sender setImage:[UIImage imageNamed:@"YES.png"] forState:UIControlStateNormal];
     favoriteChecked=YES;
        }
else
{


    [sender setImage:[UIImage imageNamed:@"NO.png"] forState:UIControlStateNormal];
    favoriteChecked=NO;
        }





}

3 个答案:

答案 0 :(得分:1)

块中的

if(cell==nil)
{
     //add the code here
}

希望这有帮助

答案 1 :(得分:1)

try this
if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
        UIButton *button = [UIButton buttonWithType:UIButtonTypeInfoLight];
        button.frame = CGRectMake(3,8,30, 30);
[button setImage:[UIImage imageNamed:@"chack box1_selected_callback.png"] forState:0]
[button addTarget:self action:@selector(myAction:) forControlEvents:UIControlEventTouchUpInside];
[cell.contentView addSubview:button];
    }

答案 2 :(得分:1)

使用UIButton *btn = (UIButton *)sender;将您的发件人从ID类型转换为按钮类型,然后更改btn的图片。

同时将[view addSubview:btnUncheck]更改为[cell.contentView addSubview:btnUncheck];为此,您需要创建一个TableViewcell

希望这有帮助。