在UITableView中動態創建了兩個按鈕,編輯和刪除。
點擊cell之後按鈕顯示成功,但是點擊按鈕沒有響應的動作發生。
代碼:
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
static NSString *CellIdentifier=@"Cell";
UITableViewCell *cell=[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if(cell==nil){
cell=[[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]autorelease];
}
NSString *cellValue=[firstName objectAtIndex:indexPath.row];
cell.textLabel.text=cellValue;
edit=[[UIButton alloc]init];
[edit setTitle:@"Edit" forState:UIControlStateNormal];
[edit setFrame:CGRectMake(100, 100, 100, 20)];
[edit setTag:1];
[edit addTarget:self action:@selector(edit) forControlEvents:UIControlEventTouchUpInside];
delete=[[UIButton alloc]init];
[delete setTitle:@"Delete" forState:UIControlStateNormal];
[delete setFrame:CGRectMake(150, 100, 100, 20)];
[delete setTag:2];
[delete addTarget:self action:@selector(deleteBtn) forControlEvents:UIControlEventTouchUpInside];
[cell.contentView addSubview:delete];
[cell.contentView addSubview:edit];
return cell;
}
我的刪除編輯功能非常簡單:
-(void)edit{
NSLog("%@",selectedValue);
}
-(void)deleteBtn{
NSLog("%@",selectedValue);
}
下面的代碼是selectedValue
:
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
selectedValue=[firstName objectAtInder:indexPath.row];
}
多謝。
按說應該是可以進入相應的方法中的.沒有看出什麼不妥
你在-(void)edit 的語句體中設置一下斷點,來跟蹤一下看在點擊"編輯"按鈕時能不能進來.
在你的代碼中有需要釋放的對象沒有釋放,需要加上釋放語句.其中的edit,delete 這兩個button都是使用
alloc, init 這樣的方式創建,在添加cell後需要手動release
[edit release];
[delete release];