我正在构建一个iPad应用程序,它在UIview中嵌入了一个tableview(奇怪,我知道)。在UITableview中,通过PLIST加载数据。我想允许用户“选择”一行,它会显示一个包含文本字段的“popover”(uiview),允许他们编辑该字段。
然而,通过代码我看到只有两种方法来激活该函数:
这是真的,你只能从圆形矩形或条形按钮项目中激活该功能吗?我有一种感觉,我可以做到,但搜索没有找到任何答案。
答案 0 :(得分:0)
是的,您只能通过条形按钮项目或视图中的矩形显示弹出窗口。
来自official doc:
Presenting and Dismissing the Popover
– presentPopoverFromRect:inView:permittedArrowDirections:animated:
– presentPopoverFromBarButtonItem:permittedArrowDirections:animated:
– dismissPopoverAnimated:
答案 1 :(得分: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的用例。当用户点击一个单元格时,可能更容易制作自定义视图并将其用于文本输入。