2

我有一个表格视图设置,其中包含一些在弹出窗口中显示的静态单元格。问题是弹出框总是空的,我似乎不知道为什么。我已经删除了 tableviewcontroller 中的所有数据方法,所以这不是问题。任何人都可以在下面的代码中看到任何问题或指出我可能缺少的东西吗?谢谢!

表视图控制器代码:

@implementation ICAMDisciplineTableViewController
- (void)viewDidLoad
{
    [super viewDidLoad];
    self.clearsSelectionOnViewWillAppear = NO;
   self.contentSizeForViewInPopover = CGSizeMake(400.0, 400.0);
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
}

#pragma mark - Table view delegate

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    [self.delegate disciplineTableViewController:self
                           didSelectEnumItem:indexPath.row + 1];
}

@end

显示弹出框的代码:

-(void)fireDisciplinePopOver
{
    ICAMDisciplineTableViewController *popoverTable = [[ICAMDisciplineTableViewController alloc] init];
    self.popOverController = [[UIPopoverController alloc]initWithContentViewController:popoverTable];
    self.popOverController.delegate = self;
    popoverTable.delegate = self;
    [self.popOverController presentPopoverFromRect:self.disciplineTextField.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
}
4

1 回答 1

2

在您的 fireDisciplinePopover 中执行此操作以UIViewController从您的 Storyboard 中获取您的信息:

  UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard"
                                                                 bundle: nil];

  ICAMDisciplineTableViewController *popoverContent = (ICAMDisciplineTableViewController*)[mainStoryboard
                                                                             instantiateViewControllerWithIdentifier: @"ICAMDisciplineTableViewController"];

确保UIViewController在您的 Storyboard 中为其设置 Storyboard ID——我只是将其设置为上面的视图控制器名称。

于 2013-01-15T19:34:30.790 回答