美文网首页
uniapp 原生导航栏

uniapp 原生导航栏

作者: 卡布i | 来源:发表于2020-01-22 15:12 被阅读0次

在项目开发中, 想要自定义一个导航栏, 做完之后发现坑还是不少

需求: 导航栏添加搜索框与搜索图标

pages.json配置文档

pages.json 文件用来对 uni-app 进行全局配置,决定页面文件的路径、窗口样式、原生的导航栏、底部的原生tabbar 等。
它类似微信小程序中app.json的页面管理部分。
代码:

简单的原生导航

{
      "path": "pages/search/search",
      "style": {
        "navigationBarTitleText": "搜索",
        "navigationBarBackgroundColor": "#ffd655"
      }
    }

效果

image

添加搜索框以及图标

{
      "path": "pages/searchpage/searchpage",
      "style": {
        "navigationBarTitleText": "搜索结果",
        "app-plus": {  //app-plus 配置编译到 App 平台时的特定样式,部分常用配置 H5 平台也支持
          "titleNView": {
            // "type": "transparent", //透明渐变导航栏 App-nvue 2.4.4+ 支持
            "searchInput": {
              "backgroundColor": "#fff",
              "borderRadius": "6px", //输入框圆角
              "placeholder": "请输入搜索内容"
            },
            "buttons": [{  // 具体说明请继续往下看
              "text": "\ue607",  // button字体图标
              "fontSrc": "/static/iconfont.ttf",
              "fontSize": "22px",
              "float": "right"  // button位置, 可以选择在左边或者右边
            }]
          }
        }
      }
    }

效果

image

搜索框配置

搜索框配置属性

image

自定义按钮

自定义按钮属性


image

具体配置可以查看文章顶部的官方文档

之前的内容都是官方文档里有的, 主要是自定义button的样式, 官方没有说的很清楚

我刚看到pages.json里自定义button的图标需要字体图标时有点懵逼

其实可以在阿里巴巴矢量图标库里引用(之前都是使用的图片图标)

阿里巴巴矢量图标库

设计师将图标上传到Iconfont平台,用户可以自定义下载多种格式的icon,平台也可将图标转换为字体,便于前端工程师自由调整与调用。

具体怎么查找添加图标就不赘述了

image
图标可以 unicode引用 font-class引用 symbol引用 以及使用到安卓以及ios平台

拿这个搜索图标举例, 点击使用帮助可以查看矢量图标的使用方法, 只查看最后一种ios引用(因为ios也是用ttf字体图标引用)
官方有小提示


image

在这里只说明怎么引用到uni.app中

返回项目

选择将图标下载至本地


image

解压之后将iconfoot.ttf复制到uniapp项目中

image

我们再看一下刚才uniapp的button配置

image

fontSrc需要的文件有了, 那text属性怎么设置?
在刚才阿里巴巴矢量图标库的项目页, 鼠标浮在图标上会有操作可选

image

选择编辑图标

image

箭头所指的的unicode码就是text属性要设置的

官方对于text属性的说明
按钮上显示的文字。使用字体图标时 unicode 字符表示必须 '\u' 开头,如 "\ue123"(注意不能写成"\e123")。

每次项目添加新图标之后, 都需要重新下载ttf字体图标文件

监听导航栏事件

页面属性中导航栏相关事件


image

相关文章

  • uniapp 原生导航栏

    在项目开发中, 想要自定义一个导航栏, 做完之后发现坑还是不少 需求: 导航栏添加搜索框与搜索图标 pages.j...

  • 小程序之自定义导航栏

    小程序原生导航栏可玩性太低,有特殊需求的时候就需要我们自己重新写一个导航栏,如果设置不现实原生导航栏(json设置...

  • uniapp 导航栏和状态栏设置

    1. 全局、局部导航栏和状态栏配置 参考官网:https://uniapp.dcloud.io/collocati...

  • uniapp取消导航栏

    全局取消原生导航栏 在pages.json的globalStyle里,有个navigationStyle设置,默认...

  • uniapp自定义导航栏

    这里说的导航栏解决的问题是手机顶部状态栏区域不被页面内容覆盖。uniapp项目,小程序都可以使用官方给的默认导航栏...

  • navigator 模块

    调用文档中的 push 接口,会进入新的界面,但不会显示原生导航栏。 显示原生导航栏方法(以ios为例) 1 组件...

  • [JavaScript 实例] 导航栏几种常见样式

    这里记录下导航栏几种常见的样式,仅供大家参考。 导航栏1 (原生 JS 代码) 比较常见也比较简单的导航栏 ,用的...

  • 小程序自定义顶部导航栏

    小程序原生顶部导航栏 (1)在app.json中全局设置 (2)在单个页面的json中设置 在使用原生导航栏时,跳...

  • 原生js导航栏上滑隐藏,下滑显示

    原生js导航栏上滑隐藏,下滑显示

  • iOS开发 IQKeyboardManager bug解决

    如果你用了原生导航栏(显示)并且导航栏上有UITextField搜索框的话,返回会遇到view下滑的bug,禁止启...

网友评论

      本文标题:uniapp 原生导航栏

      本文链接:https://www.haomeiwen.com/subject/bzouzctx.html