开发者学堂课程【mPaaS 小程序开发实战: iOS 端自定义开发(一)】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/301/detail/3515
iOS 端自定义开发(一)
内容介绍:
一、iOS 小程序自定义导航栏
二、iOS 小程序自定义启动加载页
三、iOS 小程序自定义双向通道与
一、iOS 小程序自定义导航栏
首先第一个是自定义导航的背景和标题。这里字标背景和标题分成了三类,第一个是全局自定义。
小程序里面会有很多页面。全局自定义就是一次设置之后,不管是标题还是背景,它对所有的页面都是生效的。
全集的设置主要通过 windows 的配置来进行修改。关于配置,知识的参数就是当前导航栏页面的标题背景色,即小程序全局的背景。
关于创建 V ctrl,它继承了 H5,然后同时在它的一个点文件里面。在 will here 之后。制定一个方法 custom terms。在这个里面来修改当前页面标题的颜色。关于颜色,通过启动参数的设置,在小程序里面设置。
汇到这个参数之后,取到这个参数的值。进行标题的 label 修改,修改 label 颜色或者字体。
正式设置完成之后,然后重新运行一下工程。
下面看标题的位置,因为现在目前的标题是靠左的,即在左侧返回按钮上,如果有的用户,希望标签能够居中显示,居中就需要拷贝这份代码。进行拷贝这份代码。设置完成之后,同样还需要进行开关的配置。这个方法其实是个代理的协议。
可以重新运行一下工程,往下看是全局自定义导航栏的一部分,全局自定义导航的基础之上,还可以修改某一个页面的导航栏。那么修改页面中,导航栏主要是在当前这个页面所有的点击js文件中心的配置。同样可以对其进行隐藏,设置透明并修改颜色。这里举一个页面结算配置,自定义监测下的页面,页面的标题是小程序,背景也是白色。可以在这里接里面,进行配置。比如修改它的一个标题设置为红色。
保存之后刷新看效果,标题 title 变成了自己的 api。一个是当前验证所在的J文件,还有一个是整个 app 的 app D 解散文件里面都设置了一个 title B C 和 D title,那这样同时设置的的话,当前页面的优先级是比全局设置优先级高的,就是当前页面设置的这个 title B C 和 D title 参数为准,所以当前这个自定义C一个页面,它的背景就是红色,字体是白色。同样还可以把它设置为导航栏透明或者鉴定,这两个参数的区别就是,透明是指这个页面导航栏是彻底透明的,然后鉴定就是凹槽的参数,首次进入这个页面的时候,背景是是透明的,当向上滑动滚动这个页面的时候,导航栏就变成不透明。这就是自定义某一个页面。
还有一种情况,页面打开之后,需要动态的修改,比如用户点击按钮的时候,要修改这个导航的背景颜色。小程序里面也默认的提供api来供大家使用。可以修改当前页面的背景色、标题的文案、导航标题的颜色、标题的图片等等,但是设置导航栏为隐藏、透明或者鉴定,这个 api 是不支持的,如果要想要实现这些功能就需要通过自定义来实现。
第二部分的话,修改自定义导航的返回按钮。在刚刚H五的 V 机内的平方码里面修改左侧 left item 的样式,示例代码在这个机内里面。修改当前返回按钮的一个颜色,同样可以在当前某个页面上,设置它的Color来确定一下当前页面是什么颜色。同样,在这个配置里面,加上这个参数,名字定义什么都可以,只要跟内代码能够对应上就可以。这样就能根据颜色值来能修改左侧这个按钮的颜色。设置完成之后,重新运行工程,同样重新生成这个码,因为刚刚修改了小程序的内容,所以需要重新生成这个码,点击调试。
点击页面,变成了白色。它默认是蓝色的,所以给它定成了白色的样式。这就是自定义导航栏返回按钮的步骤,
第三个是修改右侧的关闭,按照它的样式修改它的图片和颜色,或者完全修改它的样式,对于修改图片和颜色,提供一些api所原有的基础之上,直接设置这些api就可以,先导入,代码最好是放在滴滴启动的时候,设置导入这个图文件之后。设置定制右侧的这些。
有几个方法,第一个是修改右侧的关闭按钮的颜色。或者把这个图片样式整体都替换掉。除了关闭按钮之后,可以在它的左侧增加一个分享按钮,因为这个分享按钮默认是隐藏的,如果需要,可以把它显示出来,同样分享按钮,之后还能修改分享按钮的样式。默认它是一个点。
打开注释,重新运行工程。其实除了运行过程的修改样式之外,还可以修改这个右侧按钮完全自定义,把右侧按钮的图片修改成文字,可以完全重写右侧的这个按钮。在机内里面,处理当前这个页面,重新定义它的点击事件和样式。
点击打开调试小程序。扫描可以看到右侧多出了一个分享的按钮,实际上显示了分享按钮之后,要让关闭按钮和分享按钮进行了文案的修改,比如在点击加号的时候,点击这个加号按钮,之后它就已经退出了。如果完全自定义右侧的按钮,还能完全定义。在H五的机内里面,可以调用js,也是同样可以来退出当前的这一个小程序。这样就会在刚刚打开的这一个加号,把它给电传的上的关闭,整个把它从这里整个的右侧的这个按钮给它变成关闭的文案,可以重新运行一下工程,看一下效果。
自10.1.60版本基线起,iOS 小程序支持对导航栏进行自定义,您可以对导航栏中的标题、背景、返回按钮、右侧的设置和关闭按钮进行自定义。本文将向您详细介绍关于自定义 iOS 小程序导航栏的方法。
(一)自定义导航栏背景和标题
1、全局自定义导航栏背景和标题
如果您要全局自定义小程序所有页面默认导航栏背景和标题,则需要在app.json中修改window配置。
·导航栏隐藏:您需要自定义JSAPI实现。
·导航栏透明:“transparenttitle”:“always”
·导航栏渐变:"transparentTitle:auto”
·导航栏颜色:titleBarcolor:#f00。
·导航栏标题文案:“defaultTitle:Alert
·导航栏标题颜色:在H5基类的viewWillAppear方法的super之后中,修改当前页面titleView的样式。
代码:
1.-(void)viewWilLAppear:(BOOL)ANIMATed
2
.
{
3. [
superviewWillAppear:animated
];
4. …
5.
BOOL
is
T
in
yA
pp
=
[NBUTiLs
isTinyApPWithSession:self
.
psdSession]
;
6.
if(isTinyAPP)
{
7.
[
[titleViewmainTitleLabel
]
set
Text
Font[UIFont
systemFontofsize:16
]];
8.
self.navisationitem.titieview
9. }
导航栏标题图片:
"titlelmage":https://pic.alipayobjects.com/e/201212/1ntOVeWwtg.png”。
导航栏标题位置:请参考以下代码进行实现。
1.-(NSDiCTionary")nebulacustomconfig
2.
[
3
.
retu
rn @
{
@"h5
_
TINyAPPTITLeVIEWALIgNLEftCONi:
@eNAbLE:N
4.
]
2、自定义某一页面导航栏背景和标题
如果您要自定义小程序中某一页面的导航栏背景和标题,则需要在该页面的.json中配置。
·导航栏隐藏:您需要自定义JSAPI实现
·导航栏透明: "TRANSPARENTTITLE:“always”。
·导航栏渐变:rtransparentTitle:“auto”。
·导航栏颜色:"titleBarcolor:“#f00”。
·导航栏标题文案:“defaultTitle":“Alert”。
·导航栏标题颜色:您需要自定义 JSAPI、在 JSAPI 中修改当前页面 titleView 的样式
代码:
1.-(void)HANDLER:(NSDICTIONARY)DATA
2.
{
3
.
[
super
handler:datacontext:context
callback:callback
];
4
.
5
.
/
/可以通过data传递字体、颜色等
6
.
id<NBNavigationTitleViewProtocolstitleView
=context.currentViewController.navigationltem.titleView:7
7.
[[titleViewmainTitleLabeljsetFont:[UIFontsystemFontofSize:161]
8
.
[[TITLeViEwmainTitleLabel]SEtTextColor:[UIColorredColorll
9
. ]
·导航栏标题图片:"titlelmage":
"https://pic.alipayobjects.com/e/201212/1ntOVeWwtg.png”
3、动态修改当前页面的导航栏背景和标题
如果您要动态修改当前页面的导航栏背景和标题,则需要调用 my.setNavigationBar进行配置。
·导航栏隐藏:您需要自定义JSAPI实现。
·导航栏透明:不支持。
·导航栏渐变:不支持。
·导航栏颜色:backgroundcolor #f00。
·导航栏标题文案:title:新标题。
·导航栏标题颜色:您需要自定义 JSAPI.在 JSAPI 中修改当前页面 titleView 的样式。
1.
-(v
o
i
d
)hANDLER:(NSDICTionARy)Data
2.
[
3
.
[s
uperhandler:datacontext:contextcallback:callback
];
4
.
5
.
//
可以通过data传递字体、颜色等
6
.
i
d
<NBNAVIgAtIOnTitleViewProtocols titleView=
context.currentViewController.navigationltem.titleView
;
7.
[[
t
i
t
leViewmainTitleLabeljsetFont:[UIFontsystemFontOfsize:16
]
]
;
8
.
[[titleViewmainTitleLabel]setTextColor[UIColorredColorj
9
. ]
导航栏标题图片:“image”:
"https://pic.alipayobjects.com/e/201212/1ntoVeWwtg.png”
(二)自定义导航栏返回按钮
如果您要全局修改返回按钮样式,则需要在 H5基类的 viewWilLAppear 方法的super之后中,修改当前页面 leftBarButtonltem 样式。可修改的样式包含以下内容,您可以参考下方代码段以获得更多指导。
·修改返回箭头和文案颜色
·修改返回箭头样式和文学内容
·隐藏返回箭头
·隐藏返回文案
代码:
1.
//修改左侧返回按钮样式
2.
AUBARBUTTONLTEMBaCKITEm=self.navigationltem.leftBarButtonltEM:
3.
i
f([backItemisKinDOfClaSS:[AUBARBUTTONLTEMClASSJ])
{
4
.
/
/在默认返回按钮基础上,修改返回箭头和文案颜色
5
.
backltem.backButtonColor=[UIColorgreenColor
];
6
.
backltem.titleColor=[UIColorcolorFromHexString:@#00ff00
”];
7
.
8
.
//修改返回箭头样式和文字内容
9
.
backltem.backButtonTitle=@
”
回退”
;
10
.
/
/backitem.backButtonlmage
=
[Ullmage
imageNam
e
d:
@"APCOMMONUI.bundle/a
d
d'
];
11
.
12
.
//隐藏返回简头
13
.
/
/backitem.hideBackButtonlmage
=
YES
;