我正在开发一个使用UIPopoverController
的应用,我在呈现该popover时出现问题,我在self.view上添加了UIView
,并在其上添加了一个tableview视图,该表视图有一个自定义单元格,其中包含UITextField
,didBeganEditing
方法我需要弹出窗口打开。
以下是代码:
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:]
:无法从没有窗口的视图中显示弹出窗口。'
答案 0 :(得分:1)
这里你在单元格中显示popoverview并将Rect赋予UITableViewController
的弹出窗口,这样你就会得到这个错误..这里它没有查看层次结构所以它没有获取窗口并且在这里崩溃只是遵循视图层次结构。