2

ポップオーバーに表示するいくつかの静的セルを使用してテーブルビューをセットアップしています。問題は、ポップオーバーが常に空で、その理由が分からないことです。tableviewcontroller のすべてのデータ メソッドを削除したので、それは問題ではありません。以下のコードに問題があることを誰かが確認できますか? ありがとう!

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、ストーリーボードから取得します。

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

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

ストーリーボードでそのストーリーボード ID をUIViewController設定してください。上記のビュー コントローラー名に設定しただけです。

于 2013-01-15T19:34:30.790 に答える