UIButton置于tableviewcell之上

时间:2013-04-07 06:51:42

标签: iphone objective-c uitableview uibutton

我有UIButton,它放在每个UITableviewCell的顶部。这是自定义tableview。当我点击tableviewcell时,它进入另一个tableview,其中(Tableview)包含每个单元格中的数据。

这是我获取第二个tableview的详细信息的方式.... customCellData 是db查询方法,它给出了单元格号..(例如,如果我点击第一个tableview customcell的第二个单元格返回值) ( bookArray - 包含第一个tableviewcell的第二个单元格中显示的项目列表)

以下代码为 didSelectForRowAtIndexPath

 NSDictionary *selectedAuthor = nil;

     NSArray *sectionArray=[mainIndexDictionary objectForKey:[allKeysArray objectAtIndex:indexPath.section]];
        selectedAuthor = [sectionArray objectAtIndex:indexPath.row];
        iPath=[[selectedAuthor objectForKey:@"SymptIndexID"] intValue];
        NSLog(@"iPath - %d",iPath);

        authortitleString=[[selectedAuthor objectForKey:@"authorIndexName"]stringByAppendingString:@" cure!"];
    }


    bookArray=[objDB customCellData:(NSInteger)iPath];
    [self.view bringSubviewToFront:authorView];
    [bookTableView scrollRectToVisible:CGRectMake(0.0, 0.0, 320.0,10.0) animated:NO];

    [bookTableView reloadData]

现在我想用这样的方式编程。当我点击第一个tableview中的UIButton时,它应该包含第二个tableview的数据。我无法访问indexPath,因为我将在单独的方法中执行此操作 (在didselectrowatindexpath中,如果我为找到索引路径的特定单元格提供索引路径)

请有人帮助我。

更新代码

in cellForRowAtIndexPath 
  cell.shareFacebookButton.tag = indexPath.row;
            [cell.shareFacebookButton addTarget:self action:@selector(facebookShare:) forControlEvents:UIControlEventTouchUpInside];

            return cell;


    -(IBAction)facebookShare:(id)sender
    {
        UIButton *button = (UIButton *)sender;
        UITableViewCell *cell = (UITableViewCell *)button.superview.superview;
        UITableView *tableView = (UITableView *)cell.superview;
        NSIndexPath *indexPath = [tableView indexPathForCell:cell];

        NSInteger indexPathNumber = indexPath.row;

        NSLog(@"IndexPath is -- > %d" , indexPathNumber);

    }

1 个答案:

答案 0 :(得分:2)

回答已更新

好的,下面是您需要用于自定义单元格按钮的功能

"的cellForRowAtIndexPath"或使用任何其他给定的适当功能。

要确定点击了哪个按钮,请执行以下操作

<buttonid>.tag = <indexPath>.row;

此致 拉维