Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何卸下iPad';s Popover箭头及其边框_Ipad_Popover - Fatal编程技术网

如何卸下iPad';s Popover箭头及其边框

如何卸下iPad';s Popover箭头及其边框,ipad,popover,Ipad,Popover,基本上有两个问题: 如何删除iPad的弹出视图箭头 有没有办法去掉popover的黑色边框 如果不可能的话,你能建议一种在iPad上显示UIView(popover)的方式,在屏幕顶部不带箭头和边框(可能是浅色透明边框),谢谢?非常感谢 我不认为ModalView是一个合适的选项,因为它不能被调整大小,也不能通过单击“模式视图”外部来取消。您不能删除popover周围的chrome。您最好的选择是重新实现popover的想法,但使用自定义代码。AFIK没有内置的方法来指定“无箭头”或具有无边框弹

基本上有两个问题:

  • 如何删除iPad的弹出视图箭头

  • 有没有办法去掉popover的黑色边框

  • 如果不可能的话,你能建议一种在iPad上显示UIView(popover)的方式,在屏幕顶部不带箭头和边框(可能是浅色透明边框),谢谢?非常感谢


    我不认为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。我的想法是实现一个全屏透明的UIView,并在顶部添加另一个较小的视图。因此,当它被显示时,它的行为就像一个popover。伟大的黑客,谢谢你。几个注意事项:您需要
    #导入
    。此外,请记住在任何旋转之前关闭popover控制器,否则您将获得EXC_BAD_访问权限。删除该层是一个非常糟糕的主意,您可能会在提交到appStore时被apple拒绝。看看这里的这个解决方案:这就行了。但是,如果将UIImagePicker用作内容视图,则弹出窗口将调整大小,其宽度无法更改。