0

を使用するアプリに取り組んでいますUIPopoverController。そのポップオーバーの表示に問題がUIViewあります。self.view に追加された があり、そのビューにテーブルビューが追加されています。UITextFielddidBeganEditingメソッドで開くにはポップオーバーが必要です。

コードは次のとおりです。

   table = [[UITableView alloc]initWithFrame:CGRectMake(textField.frame.origin.x,textField.frame.origin.y,200,100) style:UITableViewStylePlain];

table.tag=3;
[table setDataSource:self];
[table setDelegate:self];
[table reloadData];
UITableViewController *tableViewController= [[UITableViewController alloc] initWithStyle:UITableViewStyleGrouped];
tableViewController.tableView = table;

popOver= [[UIPopoverController alloc]
          initWithContentViewController:tableViewController];

[popOver  presentPopoverFromRect:popRect inView:cell permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];

次の例外が発生します

捕捉されなかった例外 ' NSInvalidArgumentException' が原因でアプリを終了しています。理由: ' -[UIPopoverController presentPopoverFromRect:inView:permittedArrowDirections:animated:]: ウィンドウのないビューからポップオーバーを表示することはできません。

4

1 に答える 1

1

ここでは、セルに popoverview を表示し、Rect を popover に指定するUITableViewControllerと、このエラーが発生します。ここではビュー階層がないため、ウィンドウを取得せず、ここでクラッシュしました。ビュー階層に従ってください。

于 2013-05-24T11:20:47.170 に答える