0

我正在构建一个 iPad 应用程序,它在 UIview 中嵌入了一个表格视图(奇怪,我知道)。在 UITableview 中有通过 PLIST 加载的数据。我想允许用户“选择”一行,它会显示一个“弹出框”(uiview),其中包含一个允许他们编辑该字段的文本字段。

但是,通过查看代码,我发现只有两种方法可以触发该函数:

  • presentPopoverFromBarButtonItem
  • presentPopoverFromRect

这是真的吗,您只能从圆形矩形或条形按钮项目中触发该功能吗?我有一种感觉,我可以做到,但是搜索并没有找到任何答案。

4

2 回答 2

0

是的,您只能从条形按钮项或视图中的矩形呈现弹出框。

来自官方文档

Presenting and Dismissing the Popover
– presentPopoverFromRect:inView:permittedArrowDirections:animated:
– presentPopoverFromBarButtonItem:permittedArrowDirections:animated:
– dismissPopoverAnimated:
于 2012-09-20T23:07:07.800 回答
0

这些是呈现 UIPopoverController 子类的仅有的两种方式。您的问题不清楚为什么“presentPopoverFromRect”不起作用。

我知道“presentPopoverFromBarButtonItem”有点限制,但“presentPopoverFromRect”可以让你做任何你想做的事情。它允许您相对于视图定位弹出框,其中“rect”提供了一种相对于视图框架偏移弹出框的方法。

尝试:

CGRect popoverRectFromCell = CGRectMake(tappedCell.frame.size.width / 2, tappedCell.frame.size.height / 2, 1, 1);

[cellPopover presentPopoverFromRect:popoverRectFromCell 
                             inView:tappedCell 
           permittedArrowDirections:UIPopoverArrowDirectionUp 
                           animated:YES];

当然,您可以调整“popoverRectFromCell”以获得所需的结果。

但是,我不确定这是否真的是 UIPopoverController 的用例。当用户点击一个单元格时,制作一个自定义视图并将其用于文本输入可能会更容易。

于 2012-09-20T23:07:24.487 回答