问题标签 [safearealayoutguide]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
xcode - iPhone X 界面编程无自动布局
我有一个旧的应用程序源代码,它使用没有自动布局或大小类的故事板和 xib。即使我从头开始重写它,由于模块数量太多,这需要一些时间。迫切需要通过在运行时检测屏幕大小来修复手动设置 UI 元素框架的代码。因此,以这种方式编写的代码将元素放置在安全区域之外:
由于以这种方式放置的界面元素太多,我想知道修复适用于 iPhone X 的代码的简单方法是什么?
ios - safeAreaLayoutGuide 在阻止旋转时返回错误值
在我的应用程序中,我确实有两个 viewController:
VideoListViewController
- 仅限肖像
VideoPlayerViewController
- 仅限风景
VideoListViewController
VideoPlayerViewController
通过打开self.present(viewController...)
我通过以下方式阻止方向:
我的问题是仅纵向视图接收到陆地空间安全区域...在我VideoListViewController.layoutSubviews
打印self.safeAreaLayoutGuide.layoutFrame
时,它在第一次返回时按预期工作{{0, 44}, {375, 734}}
(纵向模式),但是当 VideoPlayer 出现在陆地空间旋转中时,我的纵向视图控制器得到{{44, 0}, {287, 791}}
效果是,旧视图更新会忽略安全区域,并在ViewPlayerViewController
消失时自行修复。
有人遇到过这个问题吗?有什么解决方法吗?
ios - iOS 如何/何时确定 safeAreaLayoutguides 和 layoutMargins?
在处理自定义 UINavigationController 转换时,我注意到了一些有趣的事情:我在 fromController 中创建了一个 UIView 的副本,并将其添加到 transitionContext 以执行动画,但是 safeLayoutGuides/Insets 的值与从控制器。但是,它具有相似的边距,只是 safeAreaInsets 的数量不同:
UIView 究竟是如何设置这些属性的呢?在视图生命周期的哪个阶段?我猜它是由视图层次结构决定的,但我找不到细节。
ios11 - iPhone X vs others status bar hidden
Apple advices us to avoid hiding status bar on iPhone X. My app hides status bar for all devices. But does it give a clean way to hide status bar on all devices where the bar doesn't interferes with UI as in iPhone X? Also I see status bar gets invisible in landscape mode
in simulator
. Not sure if it is a bug or a feature.
ios - 目标 C:如何以编程方式在安全区域内创建 self.view
我刚刚将我的应用程序从支持 iOS 8 更改为支持 iOS 9 及更高版本。
由于我不使用故事板来创建我的视图,我想知道是否有“使用安全区域指南”选项以编程方式或类似的东西。
我试图锚定我的视图,但它们在 iPhone X 模拟器中不断重叠顶部和底部。
ios - iOS 安全区域边距未延伸到导航栏底部
编辑 - 这被标记为重复。虽然我得到的答案中的解决方案是相同的,但我想要修复的症状却不是,经过数小时的研究后,我没有发现它被提及。
我一辈子都无法让这个愚蠢的 iphone x 东西正常工作。
我有一个视图,它应该在导航栏的正下方被按下。适用于任何非 iphone x 设备。但是,当我将 iPhone x 限制在安全区域的顶部或超级视图的上边距(主视图故事板视图控制器)打开了安全区域的相对边距。
如果我为主视图关闭那些安全区域相对边距,我试图约束到导航栏底部的视图位于导航栏下方,一直位于屏幕顶部。
我设置了这个视图以允许视图在导航栏下扩展,因为它是半透明的并且有一张在下方移动的地图。如果可能的话,我想保持这种效果。
顺便说一句,我想知道它是否可能相关,但我无法让我的 iPhone x 模拟器将任何视图的边缘延伸到安全区域之外。我的顶部和底部总是有一个大黑条,即使在我的故事板上它显示背景一直延伸到正确的边缘。所以,我的故事板正确地显示了一些东西,即使这个视图压在我遇到问题的导航栏上。但是模拟器不会将任何视图扩展到安全区域之外,并且这个看起来附加到导航栏的特定视图要低得多。
我可以提供任何提示或信息请求以帮助解决此问题吗?
谢谢
编辑 - 在这个链接的部分说
检查您的代码是否处理不同的屏幕纵横比。许多应用程序根据特定的宽度、高度或纵横比定位内容。验证您的内容是否可缩放并正确定位。
我的应用总是像右边的例子一样显示。在所有导航控制器的上方,甚至是没有导航控制器和背景图像的屏幕上,总会有一个又大又难看的黑条。故事板显示这些就像我应该瞄准的左侧图像一样,但运行模拟器永远不会反映这一点。我只是遇到模拟器错误吗?