相关疑难解决方法(0)

如何隐藏UINavigationBar 1px底线

我有一个应用程序,有时需要其导航栏与内容融为一体.

有谁知道如何摆脱或改变这个讨厌的小酒吧的颜色?

在下面的图像我有 - 我正在谈论"根视图控制器"下面这个1px高度线

在此输入图像描述

objective-c uinavigationbar ipad ios swift

422
推荐指数
21
解决办法
17万
查看次数

react-navigation标题有一条淡淡的线

这变成了一次大规模的冒险,随后又变成了一个非常大而凌乱的帖子,因此,为了使您不必阅读下面我键盘发keyboard的混乱情况,以下为摘要:

主要目标:寻找一种在我的应用程序中有选择地显示导航栏的方法,而不必也有选择地删除“安全”区域填充以防止我的内容被iPhone X槽口夹住。

为什么要这样做:我想尝试使用导航栏的内置安全区域填充而不是react-native填充,<SafeAreaView>因为这<SafeAreaView>会干扰内置填充并导致标题不必要地过高。

不按标准方式进行操作的副作用:标头(与一起显示在图片中height: 0)和内容之间存在一条细线,当标头和内容颜色相同时,该行清晰可见

iPhone X模拟器上的细线

我试了一下

  • 使用 <SafeAreaView>
  • 不使用而是<SafeAreaView>尝试header: null(也称为“推荐的方法”)
  • 使用标题选项可以使标题消失而不会导致剪切的内容。作为副作用(引自下面的扩展帖子)

    我还发现header: null在功能上与headerTransparent: 'true'后来发现的结果相同,在 功能上也与相同display: 'none'。所有这些似乎都是使整个标头,安全区域填充等全部消失的有效方法。

  • 使用borderColorborderWidth确定是否是边界(事后看来,我应该更彻底地做到这一点)

  • 玩“不透明”
  • 使用来同时移动标题和内容 position: 'relative', top: 6
  • 在Xcode中重新创建该问题以查看是否为iOS问题(后见之明:我做错了此事)

这很清楚地将答案引向了答案,因此我将在此处将其截断并在答案中继续进行。


冗长而令人困惑的原始版本

我在我的react-native项目(使用CRNA创建)中使用了react-navigation,我想我已经找到了一种样式化标头的方法,StackNavigator以便iOS为您照顾安全区域,并消除了使用<SafeAreaView>(这会干扰其他屏幕上的标题)。

我的应用程序的排列方式是,第一个屏幕有点像主屏幕,带有一个网格的按钮,最终每个按钮在都有自己的页面StackNavigator。在此主屏幕上,我想禁用标题栏,因为没有导航到的内容,它只是将内容向下移动,但是,在其他屏幕上,我希望显示标题栏以显示后退按钮。使用时,<SafeAreaView>我只能得到上面提到的两个之一,或者主屏幕被iPhone X上的缺口剪断了,或者<SafeAreaView>向下移动了其他屏幕上的导航/标题栏并占用了空间。

但是,我发现通过<SafeAreaView>完全放弃,我可以使用react-navigation中的标头样式重新创建我想要的内容:

App.js

const Navigation = createStackNavigator({
    Home: HomeScreen,
    Test: PageScreen,
},
{
  headerMode: 'screen', …
Run Code Online (Sandbox Code Playgroud)

react-native

10
推荐指数
3
解决办法
4224
查看次数

标签 统计

ios ×1

ipad ×1

objective-c ×1

react-native ×1

swift ×1

uinavigationbar ×1