0

这是我已经拥有的;

  • 我已经从 XIB 文件 (UITableViewCell) 加载了一个自定义单元格
  • 此自定义单元格包含按钮 A 和 B
  • 创建了一个 IBAction 来处理按钮 A
  • 在 MyTableView 类(UIViewController)中加载上面的 XIB 文件

现在我想在按钮A点击事件上加载另一个视图(很可能是一个XIB文件),在IBAction函数中我已经尝试过这个;

    // Where MyTableView is a class which loads this custom cell
    // ModalView is a name of XIB File
    MyTableView *vc = [[MyTableView alloc] initWithNibName:@"ModalView" bundle:nil];
    [self.navigationController pushViewController:vc animated:YES];

但它在“self.navigationController”处出现错误,说在 MyTableViewCell 类类型的对象上找不到 Property navigationController,我知道这是由于 UITableViewCell 类而发生的,并且这一行中的 self 指的是 UIViewController 对象,我应该使用 awakeFromNib或类似的东西,但我找不到任何足够的例子来让我实现我所需要的。

4

1 回答 1

1

好的,我已经解决了我的问题;

在 cellForRowAtIndexPath 函数中,我正在获取 XIB 文件 (UITableViewCell) 以表示自定义设计的单元格,我创建了一个按钮并将 XIB 视图中的按钮分配给它,然后将 IBAction 附加到它;

    // SimpleTableCell is the XIB filename (UITableViewCell)
    NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"SimpleTableCell" owner:self options:nil];
        cell = [nib objectAtIndex:0];


    UIButton *btn = [[UIButton alloc] init];
    btn = cell.btn;
    [btn addTarget:self action:@selector(smsBtnClicked:) 
                            forControlEvents:UIControlEventTouchUpInside];
于 2012-05-23T22:47:11.430 回答