问题标签 [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.

0 投票
2 回答
3094 浏览

ios - 以编程方式为 safeArea 调整 collectionView

我正在尝试设置一个水平滚动的集合视图,其中包含大小为 CGSize(宽度:view.frame.width,高度:view.frame.height)的单元格。但是,我的单元格在顶部被导航栏部分覆盖,并且使用边缘插图并不能完全适应所有设备。如何将单元格的顶部设置在新 iPhone X 导航栏的底部?

这就是问题所在。collectionView 设置在默认的 navigationBar 下。

这是问题

0 投票
3 回答
1289 浏览

uiscrollview - 具有滚动过渡样式的 UIPageViewController 自动为 iPhone X 添加安全区域插图

我正在使用滑块开发图像库,但在过渡样式模式下自动插入时UIPageViewController遇到问题。UIPageViewControllerScroll

这是我的布局:

  1. UIViewControllerUIContainerView(洋红色背景)
  2. UIPageViewController链接到容器(来自 #1)
  3. 页面控制器中动态创建UIViewController(s)的视图列表(来自 #2),全宽高视图(1.橙色,2.红色,3.绿色)

在此处输入图像描述

它曾经可以正常工作很长时间并继续与 iOS 11 一起工作,除非它在具有安全区域的 iPhone X 设备上呈现:

在此处输入图像描述

我检查了很多不同的选项,并且能够确认它与页面控制器的滚动模式特别相关。如果我切换到 PageCurl 过渡样式 - 它按预期工作(全高):

在此处输入图像描述

页面控制器没有公开很多选项来控制滚动模式的这种行为,我也无法通过搜索控件树和修改各种相关属性来“破解insets”它framecontentSize我可以清楚地看到,一旦创建了视图控制器,我的滚动视图contentSize就会frame34px容器小frame

我还设置了我的自动布局约束以链接到超级视图而不是安全区域:

在此处输入图像描述

这是我的家庭控制器代码,其余的都设置在情节提要中(警告:C# Xamarin 语法)

如何强制我的子视图控制器具有全高(等于父容器的框架高度)?

0 投票
1 回答
5103 浏览

xamarin - Xamarin Forms - 状态栏与 IOS 中的内容重叠(safeareainsets 问题)

在 Xamarin Forms 中,我正在使用

使应用程序 UI 与 iPhone X 兼容,但它仅在 iOS 11 中工作。有人对如何在所有 iOS 设备上进行此工作有建议吗?

0 投票
3 回答
1216 浏览

ios - iPhone X 上的安全区域错误

我有一个非常复杂的应用程序,它会导致 iPhone X 上的安全区域出错(被按下)。

在此处输入图像描述

此屏幕截图来自故事板。它是一个容器视图,与安全区域布局指南的底部锚点对齐。那里的一切看起来都很好,并在一个空的新项目中产生了正确的结果。

但是一旦我在原始应用程序中实例化并推送视图控制器,结果是这样的:

在此处输入图像描述

什么可能导致安全区域被扭曲?

该属性additionalSafeAreaInsets绝对没有在应用程序的任何地方设置。我玩过其他几个UIViewController属性,但似乎没有任何改变。

谢谢!

0 投票
0 回答
952 浏览

ios - 使用 iOS 安全区域布局呈现控制器

在此处输入图像描述

我正在使用 iOS 11 安全区域布局指南并像这样设置状态栏的背景颜色

当呈现具有红色背景的控制器时,它不会如图所示覆盖状态栏,但在不使用安全区域布局指南时可以正常工作。这里出了什么问题?

0 投票
1 回答
306 浏览

ios - iPhone x 上的 UITableViewController 顶栏

我在 iPhone X 上发现我的应用程序的一个屏幕 UITableViewController 有问题。我说的是顶栏的颜色。

应用程序中的其他屏幕显示为 UIViewControllers,我对安全区域设置背景没有问题直到顶部。

UITableViewController 应该怎么做?也许可以在界面生成器中完成?

在此处输入图像描述

我试过这个没有运气

0 投票
0 回答
321 浏览

ios - UIScrollView中多个UITableViews时的iOS 11安全区域

在我的应用程序中,我使用一个包含 UIStackView 和多个 UITableViews 的 UIScrollView 来水平滚动不同种类的内容。

我对 iPhone X 有一个问题,其中第一个 tableviews 左侧和最后一个 tableviews 右侧正确插入,以便为 iPhone X 安全区域留出空间。但是,第一个 tableview 的右侧、最后一个 tableview 的左侧以及中间所有 tableview 的两侧都没有正确插入。

问题:将插图应用于每个表格视图的两侧的正确方法是什么?

在此处输入图像描述 在此处输入图像描述 在此处输入图像描述 在此处输入图像描述

更新 1

乍一看,Sh_Khan 建议的解决方案(对容器 UIScrollView 上的安全区域使用前导/尾随约束)看起来不错,但实际上并不是我想要实现的。如您所见,单元格分隔符并没有一直到屏幕边缘,当从一个表格视图滚动到下一个表格视图时,安全区域所在的白条清晰可见。

我需要以某种方式插入 tableviews 单元格内容视图,就像系统一样,但我需要为每个 tableviews 单元格执行此操作。有人知道系统是如何实现这一点的吗?

在此处输入图像描述 在此处输入图像描述

0 投票
1 回答
842 浏览

swift - iPhone X 上的 UITabBarController

这不是重复的。所有其他答案均用于UITabBar. UIViewController我的问题是特定的UITabBarController,这些答案没有帮助。我的标签栏在其他模拟器上运行良好,但在 iPhone X (11.2) 上,正如您在附图中看到的那样,图标和文本是重叠的。

  • UITabBarController是自定义的,但我也尝试删除自定义,但此问题仍然存在。
  • 我的故事板已打开“使用安全区域布局指南”
  • UITabBarController的故事板中没有显示安全区域。

我已经用尽了与此相关的堆栈上的所有解决方案。

在此处输入图像描述

0 投票
5 回答
3809 浏览

ios - 状态栏下的 CollectionView 标题内容

这是一个集合视图,限制在超级视图的顶部、左侧、右侧和底部,并启用了安全区域布局指南:

在此处输入图像描述

我希望我的集合视图标题显示状态栏下。我通过取消选中控制器 main 的尺寸检查器中的Safe Area Layout Guideview并添加以下代码,为 iPhone 4 - 8+ 屏幕尺寸实现了这一点:

这对于非 iPhone X视图尺寸看起来很棒:

在此处输入图像描述

但是,对于 iPhone X,这会导致以下输出:

在此处输入图像描述

iPhone X 的状态栏有自己的尺寸。进一步调整顶部插图确实有效,但会过度偏移其他设备尺寸。我想知道是否有更优雅的方式来实现这种行为。

0 投票
1 回答
300 浏览

swift - NSLayoutConstraint 和 safeAreaLayoutGuide - 编码兼容 pre-iOS 11

如果我想要一个与 iOS 11 之前的设备兼容的应用程序,我是否需要此代码用于将视图的某些属性链接到 self.view 的每个约束以遵守 safeAreaLayoutGuide?