ios - 根据背景图片设置导航栏大小
问题描述
我为导航栏设置了一个背景图像。这工作正常。但我希望将导航栏高度调整为背景图像。目前背景图像的宽度也没有根据屏幕大小设置。
我尝试设置导航栏的高度,如此处所述。这会在一秒钟内显示一个更大的导航栏,但随后又会缩小到默认大小。
有谁知道如何实现我想要的?这是我想要实现的一个示例:图像
解决方案
苹果文档:
允许使用 UINavigationBar 类的方法和属性自定义导航栏的外观,但您绝不能更改其框架、边界或 alpha 值或直接修改其视图层次结构。
为了达到您标记的图像中看到的效果,他们很可能使用集合视图来布局他们的数据,并且该图像是集合视图标题的一部分。他们使导航栏背景颜色清晰,但图像绝对不是导航栏本身的一部分。
Apple 建议永远不要手动更改导航栏的框架,因为它会混淆其子视图和动画方法的布局代码。
您可以将导航栏子类化并尝试创建类似的东西,或者走更简单的路线并使导航栏清晰(UIColor(white: 0, alpha: 1)
否则.clear
它可能会显示不正确)并让底层视图显示图像(例如,标题扩展的集合视图到视图控制器的顶部)。
这将允许您自由调整图像的高度和宽度,而无需子类化导航栏并产生潜在的错误。
推荐阅读
- python - 创建一个零的 3D 张量,在 numpy/jax 中的每个切片上随机放置一个“1”
- c# - 如何动态创建表达式
> 带有字符串参数的谓词? - java - 如果将旧日期与当前日期一起传递,则 Date before 方法返回 false
- keypress - 字符转换
- javascript - 从数组映射 wordpress 帖子
- javascript - 计算表格中复选框的数量和数量
- c# - Json数据检索
- apache - 使用 .htaccess 始终重定向到 index.php 时出现 500 内部服务器错误
- python - 使用 Selenium 通过自定义按钮属性查找元素
- sql - Access SQL 查询:仅显示重复记录的最新记录