问题标签 [safearea]

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 投票
1 回答
10 浏览

ios - 在 iPhone 11 上,使用自定义视图,为什么我的 Tap Recognizer 或 UIButton 在视图的顶部没有响应但在视图的下部有效

我有一些自定义操作表。它们是完全自定义的控件,而不是基于 UIActionSheet。我将它们作为子视图添加到视图控制器并为它们设置动画。它们在旧设备上运行良好,但在 iPhone 11 上我遇到了问题。在最像 UIActionSheet 的那些上,顶部的 Action 项是不可点击的。其他项目是可点击的。在调试器中,我看到代码认为我在自定义操作表之外单击。

我还注意到,从底部向上滑动并呈现集合视图的其他类似自定义控件之一不会像在旧设备上那样在屏幕底部齐平显示。有点高了 但它工作正常。

0 投票
2 回答
722 浏览

swiftui - 如何在父视图使用 IgnoringSafeArea() 时访问 safeArea 插图

如您所见,我想将搜索栏完全放在顶部,safeAreaproxy.safeAreaInsets由于PreviewProvider父级使用edgesIgnoringSafeArea.

我能做些什么 ?有什么方法可以访问 safeAreaInsets?

代码预览

0 投票
1 回答
372 浏览

swift - SwiftUI:为什么proxy.safeAreaInsets.bottom的高度等于keyboardHeight?

所以 iPhone 11 Pro Max 上的 safeAreaInset.bottom 是 34.0,但是当键盘打开时,它会将 safeAreaInset.bottom 更改为键盘的高度(346.0 点)。当键盘打开时,有什么方法可以访问 safeAreaInset.bottom 值(34.0)?

作为参考,我的内容视图中有一个几何阅读器:

我还需要它适用于所有设备,似乎为不同设备制作一堆 if 语句是一个非常糟糕的解决方案。有人有建议吗?

0 投票
1 回答
370 浏览

flutter - Flutter SafeArea 意外隐藏系统图标

SafeArea用来避免我的显示区域与最新的手机状态栏和相机缺口发生冲突。我使用Scaffold没有AppBar.

问题

虽然显示区域按预期工作,但出现了一个副作用:状态栏变成单色区域,所有系统图标包括 WIFI 和电池都消失了。

尝试

我尝试了各种技巧,包括

但他们所做的只是设置颜色。图标仍然丢失。

问题

这是设计使然还是我缺少任何有用的属性SafeArea

0 投票
1 回答
61 浏览

swift - 我正在使用 SpriteKit 制作游戏,但我的视图只占据了屏幕上看似安全的区域。如何扩展此视图?

我正在使用 SpriteKit 制作游戏,我希望它使用整个屏幕。然而,现在,它只使用看起来是安全的区域。如何让视图占据整个屏幕?下面是我正在使用的 GameViewController 代码:

0 投票
2 回答
53 浏览

swift - 如何覆盖edgesIgnoringSafeArea(或任何视图修改器)

我正在尝试覆盖的功能,edgesIgnoringSafeArea(_:)因为我在视图中对垂直安全区域进行了自定义处理。但是,没有超级可以调用,所以我不确定除了处理每个安全区域边缘之外如何进行。任何意见,将不胜感激。

0 投票
1 回答
145 浏览

xamarin.forms - 当 View.OnAppearing 被触发时 SafeAreaInsets 为 0

我正在做一些手动定位,需要考虑到ios上的安全区域。

我遇到的问题是,当我在 OnAppearing 方法中时,SafeAreaInserts 方法返回的厚度值为 0。旋转设备后(在 SizeChanged 事件中),情况不再如此。由于进入视图时不会触发 SizeChanged,因此我找不到设置 SafeAreaInsets 时引发的事件。

var safeInsets = On().SafeAreaInsets();

本主题中,我发现已更改 SafeAreaInsert 的事件“稍后”触发,但我的共享 Xamarin.Forms 项目中似乎没有此事件。

0 投票
0 回答
150 浏览

ios - 如何剪辑超出屏幕安全区域的 VStack 子视图?

我是 SwiftUI 的新手,并且有一个关于如何设置相对于屏幕安全区域的 VStack 的问题。

我目前正在编写一个应用程序,该应用程序将在登录屏幕上有一个单一的登录/注册按钮。这个想法是,如果在登录屏幕中输入的电子邮件地址不存在,屏幕上将显示更多的子视图,并且屏幕现在看起来像一个注册屏幕。

我能够使用这段代码实现我想要的......

如果 VStack 内视图的总高度小于安全视图区域高度,则 ContentView 中最顶部 VStack 中的子视图似乎包含在屏幕的安全视图区域内(这是我的预期)。当我向最顶部的 VStack 添加灰色背景修饰符以查看相对于手机屏幕覆盖了多少视图时,可以验证这一点。

VStack 位于安全区域内(点击查看图片)

但是,我注意到当 VStack 中的子视图超过安全区域的高度时(例如显示附加注册字段时),子视图不会被剪裁,而是溢出到安全区域之外。

VStack 溢出安全区域(点击查看图片)

是否有一个修改器可以用于最顶部的 VStack,它允许我剪裁将溢出安全区域的子视图的顶部和底部边缘?

我想在使用不同的手机预览运行我的应用程序时将其用作视觉指示器,以便我更容易看到如果 VStack 的子视图溢出安全区域,我将需要执行多少高度调整特定的 iphone 屏幕尺寸。

我尝试查找此信息,但我看到的都与我想要的相反。:)

此外,有没有更好的方法来实现 VStack 中子视图的自动调整大小,以使其适合屏幕的安全区域高度,而不是使用:

感谢可以提供的任何建议。谢谢。

0 投票
0 回答
37 浏览

ios - 仅使用代码在 Xamarin 中的 iPhone X 中的额外底部和顶部空间

我正在尝试使用 Xamarin for iOS 在下面实现此解决方案有谁知道如何仅通过代码(而不是表单)使用安全区域? Xamarin 形式的 iPhone X 中的额外底部和顶部空间 谢谢

0 投票
2 回答
243 浏览

flutter - 颤振改变底部导航栏高度

我正在尝试构建一个自定义bottomNavBar,我的代码如下所示:

我在里面Scaffold这样称呼它:

问题bottomNavBar覆盖整个屏幕!没有Column它,它工作正常,但它Column是至关重要的,所以我可以有底部Containerheight: MediaQuery.of(context).padding.bottom,所以它heightnavBar根据设备的不同而动态变化SafeArea。(例:iPhone SE 没有bottomSafeArea,iPhone X 有,所以需要调整高度。)

我在这里缺少什么,我该如何解决?

如果您需要更多信息,请告诉我!