故事板:如何弹出而不是全屏
Posted
技术标签:
【中文标题】故事板:如何弹出而不是全屏【英文标题】:Storyboard: How to popover not full screen 【发布时间】:2017-12-20 12:11:41 【问题描述】:按下亮度按钮时需要弹出窗口。 Popover 不需要是全尺寸的。我尝试了几种设置,但它始终显示为全尺寸屏幕。你认为我需要保持 280x150 像素吗?
【问题讨论】:
【参考方案1】:听起来这可能是默认 ios 弹出框行为的问题。默认情况下,弹出框仅用于 iPad/Regular Width 尺寸类别,并且是 iPhone/Conpact Width 尺寸类别上的全屏模式。
此 WWDC 会议涵盖了该默认行为,以及如何覆盖它以在 iPhone 上具有弹出式演示样式:
https://developer.apple.com/videos/play/wwdc2014/214/。 (跳到 36:15 左右)
【讨论】:
嗨!添加了另一个截图,是的,我试过了,设置Preferred Content Size
。
@János Ohh...你是在 iPad 还是 iPhone 上运行它?默认情况下,Popover 会在 iPhone 上“适应”全屏模式,除非您编写一些代码来更改该行为。当您在 iPad 上运行它时,这看起来像一个小弹出框吗?
在 iPhone 上,有问题吗?【参考方案2】:
我看到你在情节提要中把它当作亮度,你可以准备把它写成亮度
【讨论】:
prepare(for segue
在按下亮度按钮时没有被调用,为什么? VC 只是全屏显示。
确保prepare中的seque u句柄的名字是brightness
不,处理程序根本没有被调用。【参考方案3】:
在其视图中创建带有 UIView 的 childViewController,并在其中包含您想要显示为弹出窗口的适当约束和 UI 元素。
设置childViewController的背景颜色为默认颜色。
将 segue 从视图(例如按钮,单击时必须将 childViewController 显示为弹出窗口)添加到 childViewController,类型为 Present Modally,演示文稿“Over current context”,过渡类型为“Cross Dissolve”。
确保您已在 childViewController 视图中正确添加了视图约束,以便它在正确的位置显示为弹出窗口。
【讨论】:
以上是关于故事板:如何弹出而不是全屏的主要内容,如果未能解决你的问题,请参考以下文章