如何卸下iPad';s Popover箭头及其边框
基本上有两个问题:如何卸下iPad';s Popover箭头及其边框,ipad,popover,Ipad,Popover,基本上有两个问题: 如何删除iPad的弹出视图箭头 有没有办法去掉popover的黑色边框 如果不可能的话,你能建议一种在iPad上显示UIView(popover)的方式,在屏幕顶部不带箭头和边框(可能是浅色透明边框),谢谢?非常感谢 我不认为ModalView是一个合适的选项,因为它不能被调整大小,也不能通过单击“模式视图”外部来取消。您不能删除popover周围的chrome。您最好的选择是重新实现popover的想法,但使用自定义代码。AFIK没有内置的方法来指定“无箭头”或具有无边框弹
我不认为ModalView是一个合适的选项,因为它不能被调整大小,也不能通过单击“模式视图”外部来取消。您不能删除popover周围的chrome。您最好的选择是重新实现popover的想法,但使用自定义代码。AFIK没有内置的方法来指定“无箭头”或具有无边框弹出窗口 这是一个黑客,但它基本上是有效的。在由弹出式控制器管理的视图控制器的上下文中,在查看过程中将出现:,获取弹出窗口并删除第一层,这是渲染箭头和边框的部分:
- (void) viewWillAppear: (BOOL) animated
{
[super viewWillAppear: animated];
UIView* v = self.view.superview;
NSLog( @"%@", NSStringFromClass( [v class]) ); // this should print UIView
v = v.superview;
NSLog( @"%@", NSStringFromClass( [v class]) ); // this should print UIPopoverView
[[v.layer.sublayers objectAtIndex:0] removeFromSuperlayer];
}
我想您可以尝试添加回您自己的图层,以您想要的方式渲染背景/边框
如何删除iPad的弹出视图箭头
调用-presentPopoverFromBarButtonItem:permittedArrowDirections:时,将0传递为第二个参数,而不是任何常量。这没有文档记录,但苹果在使用此设置时允许应用商店中的应用。- 不能删除箭头或边框。如果你像TomSwift建议的那样进行某种黑客攻击,那么在向appStore提交应用程序时,你可能会遭到苹果公司的拒绝
- 正如Kevin所建议的,您可以实现自己的自定义popover类控制器。 你可以在这里找到一个开源项目。Backgound和arrow可以从该选项中删除,也可以设置为透明
#导入
。此外,请记住在任何旋转之前关闭popover控制器,否则您将获得EXC_BAD_访问权限。删除该层是一个非常糟糕的主意,您可能会在提交到appStore时被apple拒绝。看看这里的这个解决方案:这就行了。但是,如果将UIImagePicker用作内容视图,则弹出窗口将调整大小,其宽度无法更改。