为了在 iPad 上显示 UIActionSheet,我这样做了:
[actionSheetX showFromRect:RectX inView:myView animated:YES];
弹出框的箭头指向下方,我可以像使用普通弹出框一样将此位置更改为指向左、上或右吗?
为了在 iPad 上显示 UIActionSheet,我这样做了:
[actionSheetX showFromRect:RectX inView:myView animated:YES];
弹出框的箭头指向下方,我可以像使用普通弹出框一样将此位置更改为指向左、上或右吗?
Apple 没有为 UIActionSheet 的内部实现提供对内部结构的任何访问showFromRect
,但至于箭头方向,实际上有一种非常老套的方法来解决这个问题,并且能够将箭头方向更改为所需的方向。
诀窍是弄乱- (void)showFromRect:(CGRect)rect inView (UIView *)view animated:(BOOL)animated
. Apple 没有很好地记录这个 rect 参数,但是如果你的原始 rect 会给你一个向下的箭头方向,请输入一个高度和负数 origin.y 的矩形。y 会推动操作表弹出框一直向上从而显示向上的箭头方向。这是一个极端的 hack,但它在固件中始终如一地工作。希望能帮助到你。
CGRect cellRect = cell.bounds;
cellRect.size.width = cell.frame.size.width * 2;
cellRect.origin.x = -(cell.frame.size.width + 10.0);
[_actionSheet showFromRect:cellRect inView:cell animated:YES];
感谢 - 过分夸张。
iPad - 拆分视图控制器:它在主视图(表格视图)单元格的末尾显示带有左箭头的操作表。单元格内有 10 个像素的箭头。尝试这个。操作表显示的逻辑很容易理解。谢谢 - 曼拉杰。
该-showFromRect:inView:
方法的文档说明了这一点:
在 iPad 上,此方法在弹出框中显示操作表,其箭头指向视图的指定矩形
这意味着您可以通过摆弄矩形来让它显示您想要的箭头方向。但是,我没有理由想到您为什么要手动设置箭头方向,因为它UIActionSheet
会自动计算最佳箭头方向。