月球上的人
月球上的人
  • 发布:2017-09-12 22:20
  • 更新:2017-09-15 10:42
  • 阅读:1827

getTitleNView()拿到的是null

分类:HTML5+


测试环境macOS Sierra,iPhone 6s plus模拟器
HBuilder 8.8.0.201706142254

2017-09-12 22:20 负责人:无 分享
已邀请:
n***@gmail.com

n***@gmail.com

你好,mui.openWindowWithTitle() 这个方法是通过原生绘制的原理绘制的标题头,所以目前是不能通过getTitleNView() 方法拿到,不过你可以使用getSubNViews()拿到当前webview的所有view控件数组,此时的第一个数组元素就是titleNView。
另外说明一下:titleNView就是一个特别的subNView,所以5+提供了单独的方法获取,但是也可以通过getSubNViews 从中获取的

mui.openWindowWithTitle()封装原理就是通过plus.nativeObj.View绘制的,如果你想实现打开标题头这样的操作,也可以通过

plus.webview.create( url, id, {  
   titleNView: {  
      titleText:'test'  
  }  
} )

这样的5+方法直接实现,此时你通过getTitleNView便可以获取到该view控件

  • 月球上的人 (作者)

    明白了,谢谢. 然后你们文档里还有很多地方用的是getNavigationBar()方法,建议升级一下文档

    2017-09-13 15:48

  • n***@gmail.com

    mui文档还是5+文档?

    2017-09-13 20:46

  • 月球上的人 (作者)

    回复 n***@gmail.com:出错的位置我写在下面的评论里了

    2017-09-14 18:22

月球上的人

月球上的人 (作者) - iOS开发,DColud学习中

这篇文章http://ask.dcloud.net.cn/article/1205
不知道算不算你们文档的

n***@gmail.com

n***@gmail.com

getNavigationbar() 是老写法和 gitTitleNView() 是新写法,目前都可以使用的

  • 月球上的人 (作者)

    我又看了一下mui.openWindow(), mui.openWindowWithTitle()和plus.webview.create()这三个方法.

    在openWindow()和plus.webview.create()这两个方法中都是通过设置styles下titleNView来设置导航栏的,所以我想你上面回复我说的openWindowWithTitle()是通过封装plus.webview.create()方法来实现的这句话是不是有点问题,是不是其实是openWindow()方法才是封装plus.webview.create()这个方法来实现的.

    另外一点,用openWindowWithTitle()来打开界面是不是就相当于使用了iOS中UINavigationController嵌套了一层,用的是原生导航栏,而另外两个方法则是用UIView来自己实现了一个导航栏?

    2017-09-16 16:16

  • n***@gmail.com

    我说的是openWindowWithTitle()是通过plus.nativeObj.View实现的,不是plus.webview.create()实现。

    2017-09-18 17:42

该问题目前已经被锁定, 无法添加新回复