Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/99.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
Ios 故事板:如何弹出非全屏_Ios_Storyboard_Uipopovercontroller - Fatal编程技术网

Ios 故事板:如何弹出非全屏

Ios 故事板:如何弹出非全屏,ios,storyboard,uipopovercontroller,Ios,Storyboard,Uipopovercontroller,按下“亮度”按钮时需要一个popover。Popover需要不是全尺寸的。我尝试了几种设置,但它始终显示为全屏幕。你认为我需要什么来保持它280x150px 我在故事板中看到您将其作为brightness处理,您可能会在编写时使用brightness听起来这可能是默认iOS popover行为的问题。默认情况下,Popover仅用于iPad/常规宽度大小类,在iPhone/Conpact宽度大小类上为全屏模式 此WWDC会话介绍了该默认行为,以及如何覆盖它以在iPhone上使用popove

按下“亮度”按钮时需要一个popover。Popover需要不是全尺寸的。我尝试了几种设置,但它始终显示为全屏幕。你认为我需要什么来保持它280x150px


我在故事板中看到您将其作为brightness处理,您可能会在编写时使用brightness

听起来这可能是默认iOS popover行为的问题。默认情况下,Popover仅用于iPad/常规宽度大小类,在iPhone/Conpact宽度大小类上为全屏模式

此WWDC会话介绍了该默认行为,以及如何覆盖它以在iPhone上使用popover演示样式:

。(跳到36:15左右)

  • 创建childViewController,其中UIView位于视图中,并具有适当的约束和UI元素,您希望将其显示为弹出窗口

  • 将childViewController的背景色设置为默认颜色

  • 将segue from view(例如,按钮,点击该按钮时,您必须将childViewController显示为弹出窗口)添加到childViewController,其显示类型为Modally,显示形式为“Over current context”,转换类型为“Cross dissole”

  • 确保已添加约束以正确查看childViewController视图内的视图,以便将其显示在正确的位置作为弹出窗口


  • 准备(因为segue
    在按下亮度按钮时不会被调用,为什么?VC只是全屏显示。确保prepare中的segue u句柄的名称为brightnessNo,handler根本不会被调用。嗨!添加了另一个屏幕截图,是的,我尝试过,设置
    首选内容大小
    @János Ohh…你是在iPad还是iPhone上运行这个?Popover segues默认情况下在iPhone上“适应”全屏模态,除非您编写一些代码来改变这种行为。在iPad上运行时,它看起来像一个小的Popover吗?在iPhone上,这是一个问题吗?