Как передать событие IBAction на пользовательскую ячейку UIButton? - PullRequest
2 голосов
/ 06 февраля 2012

Я хочу дать пользовательское событие UIButton IBAction ячейки.

Я пробовал с приведенным ниже кодом, но он вылетает.

Как я могу создать делегат и использовать его в своем классе UITableView?

Customcell class

-(IBAction)btnShowAttachmentClick:(UITableView *)aTblViewCommon
{
    [(ShowTechAndProfDetailsVC *)aTblViewCommon.delegate performSelector:@selector(showAttachmentsFromCell:) withObject:nil];
}

UIViewController class having UITableView

-(void)showAttachmentsFromCell:(UIButton *)sender
{
    gotoClass *obj = [[gotoClass alloc] initWithNibName:@"gotoClass" bundle:nil];
    [self.navigationController pushViewController:obj animated:YES];
    [obj release];
}

Вот cellForRowAtIndexPath

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{  
    if(appDelegate.intCountSwipeForView == 1 || appDelegate.intCountSwipeForView == 2)
    {
        objCellView = [ViewExpAndEduCustomCell dequeOrCreateInTable:tableView];

        objCellView.selectionStyle = UITableViewCellSelectionStyleNone;
        //objCellView.btnPaperClip.tag = indexPath.row;
        [objCellView.btnPaperClip addTarget:self action:@selector(showAttachmentsFromCell:) forControlEvents:UIControlEventTouchUpInside];


        objCellView.lblName.text = @"asdfsdf";
        objCellView.lblTitleOrCourse.text = @"asdf";
        objCellView.lblStartDate.text = @"23-Nov-2001";
        objCellView.lblEndDate.text = @"04-Feb-2002";


        [objCellView.txtViewSummary setTextColor:TEXT_COLOR_GRAY_FOR_TABLECELL];
        [objCellView.txtViewSummary setFont:[UIFont systemFontOfSize:17.0]];
        [objCellView.txtViewSummary setContentInset:UIEdgeInsetsMake(-5, 0, 0, 0)];
        [objCellView.txtViewSummary setBackgroundColor:[UIColor clearColor]];
        [objCellView.txtViewSummary setAutoresizingMask:UIViewAutoresizingFlexibleWidth];
    }
if(appDelegate.intCountSwipeForView == 1){
        objCellView.txtViewSummary.text = @"Experience.This is sample text.This text can be of 150 characters.No more than that.You can also attach your achievment but only pdf,Image or video";
        return objCellView;
}

1 Ответ

1 голос
/ 06 февраля 2012

у вас есть кнопка IBOutlet из вас в Customcell классе, а затем в

- (UITableViewCell *)cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    //creating cell or resusing cell

    //after getting the cell and casting it into your Customcell
        [cell.mButton addTarget:self action:@selector(showAttachmentsFromCell:) forControlEvents:UIControlEventTouchUpInside];

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...