使用以下方法消除 UINavigationbar 和另一个视图之间的黑字符串的秘诀是什么?
what is the secret of eliminating black string between UINavigationbar and another view by using following method?
我有 UINavigationbar 并在其下方查看。
当我按照说明说时,字符串消失了
UINavigationBar.appearance().shadowImage = UIImage()
UINavigationBar.appearance().setBackgroundImage( UIImage(), for:
.default)
为什么?
你能告诉我们字符串放在哪里吗?
可能是字符串的颜色与背景颜色相同。
我们可以使用调试检查器调试字符串是否实际存在于 UI 层次结构中并启用显示剪辑内容(这有助于我们了解是否存在任何剪辑视图)。我已附上屏幕截图供您参考。
View inspector
根据文档,一旦您设置了 setBackgroundImage,它就会使用您的自定义实现覆盖 shadowImage。在导航栏上查看它说的 shadowImage:
"/* 默认为 nil。当非 nil 时,显示自定义阴影图像而不是默认阴影图像。 对于要显示的自定义阴影,自定义阴影背景图像也必须使用 -setBackgroundImage:forBarMetrics: 设置(如果使用默认背景图像,将使用默认阴影图像)。
*/
@属性(可空,非原子,强) UIImage *shadowImage NS_AVAILABLE_IOS(6_0) UI_APPEARANCE_SELECTOR;"
因此,您使用空白图像覆盖了默认值,而空白图像又会删除您所说的默认阴影或字符串。
我有 UINavigationbar 并在其下方查看。
当我按照说明说时,字符串消失了
UINavigationBar.appearance().shadowImage = UIImage()
UINavigationBar.appearance().setBackgroundImage( UIImage(), for:
.default)
为什么?
你能告诉我们字符串放在哪里吗?
可能是字符串的颜色与背景颜色相同。
我们可以使用调试检查器调试字符串是否实际存在于 UI 层次结构中并启用显示剪辑内容(这有助于我们了解是否存在任何剪辑视图)。我已附上屏幕截图供您参考。
View inspector
根据文档,一旦您设置了 setBackgroundImage,它就会使用您的自定义实现覆盖 shadowImage。在导航栏上查看它说的 shadowImage:
"/* 默认为 nil。当非 nil 时,显示自定义阴影图像而不是默认阴影图像。 对于要显示的自定义阴影,自定义阴影背景图像也必须使用 -setBackgroundImage:forBarMetrics: 设置(如果使用默认背景图像,将使用默认阴影图像)。 */
@属性(可空,非原子,强) UIImage *shadowImage NS_AVAILABLE_IOS(6_0) UI_APPEARANCE_SELECTOR;"
因此,您使用空白图像覆盖了默认值,而空白图像又会删除您所说的默认阴影或字符串。