-1
         UIButton *btnUserImage = [UIButton buttonWithType:UIButtonTypeCustom];
        [btnUserImage setFrame:CGRectMake(5, 5, 80, 60)];
        [btnUserImage setBackgroundColor:[UIColor clearColor]];
        [btnUserImage setTag:indexPath.row];
        [btnUserImage addTarget:self action:@selector(btnUser_clicked:) forControlEvents:UIControlEventTouchUpInside];
        [cell.contentView addSubview:btnUserImage];

你好,我有这个我正在尝试实现的方法,但问题是 btnuserimage 标记不起作用,因为索引 path.row 在另一个 .m 文件中。底部代码是我试图对上面的代码实现的代码。我必须在另一个控制器中使用上面的方法才能使其工作。关于做什么的任何建议或提示。基本上我要问的是底部代码需要实现到另一个视图控制器,这样上面的代码才能工作。

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

2 回答 2

0

您可以创建一个 SharedClass 并将所有必需的值传入和传出。或者,您可以创建一个全局变量并在两个类中使用它。

但我建议使用 sharedClass。

并且为了将来参考,如果某些事情发生动态变化,那么您可以使用通知。

于 2012-11-17T03:36:01.060 回答
0

您可以在“一个”视图控制器中添加一个公共方法,如下所示。并称它为“另一个”视图控制器。

// in OneViewController a public method
- (void)addButtonWithTag:(NSInteger)tag
{
    [btnUserImage setTag:tag];
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:   (NSIndexPath     *)indexPath {
    ...
    [oneViewController addButtonWithTag:indexPath.row];
    ...
}
于 2012-11-17T03:42:31.867 回答