上次我們創(chuàng)建了一個(gè)簡單的Weex的demo钩乍。
一、常用的類
WXSDKEngine:SDK開放的絕大多數(shù)接口都在此有聲明怔锌。
WXLog: 用來打印日志寥粹。
WXDebugTool: weex提供的對外調(diào)試工具变过。
WXAppConfiguration: 使用weex開發(fā)的業(yè)務(wù)性配置。
二涝涤、添加圖片
1媚狰、瀏覽器查看
建議大家可以看下阿里團(tuán)隊(duì)的weex文章。
在上篇的helloweex.we 中的div標(biāo)簽中 加入圖片image標(biāo)簽和thumbnail樣式阔拳,全部代碼:
<template>
<div>
<image class="thumbnail" src="https://img.alicdn.com/tps/TB15vyaLpXXXXXXXFXXXXXXXXXX-198-46.png"></image>
<text class="title" onclick="onClickTitle">Hello Weex</text>
</div>
</template>
<style>
.title { color: red; }
.thumbnail { width: 100; height: 30; }
</style>
<script>
module.exports = {
methods: {
onClickTitle: function (e) {
console.log(e);
alert('title clicked.');
}
}
}
</script>
運(yùn)行weex helloWeex.we 后崭孤,效果如下:
2、iOS端顯示圖片
我們執(zhí)行 weex helloWeex.we -o helloWeex.js 糊肠。然后把生成的helloWeex.js 替換到項(xiàng)目中辨宠。
然后在iPhone上運(yùn)行 會發(fā)現(xiàn) 圖片并沒有顯示出來。
首先我們新建一個(gè) WXImageDownloader 類货裹,用來實(shí)現(xiàn)圖片下載協(xié)議WXImgLoaderProtocol嗤形。
代碼如下:
#import <WeexSDK/WeexSDK.h>
@interface WXImageDownloader : NSObject <WXImgLoaderProtocol>
@end
在.m文件中實(shí)現(xiàn)WXImgLoaderProtocol協(xié)議的downloadImageWithURL方法。用SDWebImage下載圖片弧圆。
#import "WXImageDownloader.h"
#import <SDWebImage/SDWebImageManager.h>
@implementation WXImageDownloader
- (id<WXImageOperationProtocol>)downloadImageWithURL:(NSString *)url
imageFrame:(CGRect)imageFrame
userInfo:(NSDictionary *)options
completed:(void(^)(UIImage *image, NSError *error, BOOL finished))completedBlock {
return (id<WXImageOperationProtocol>)
[[SDWebImageManager sharedManager] downloadImageWithURL:[NSURL URLWithString:url]
options:0
progress:^(NSInteger receivedSize, NSInteger expectedSize)
{
} completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, BOOL finished, NSURL *imageURL)
{
if (completedBlock) {
completedBlock(image, error, finished);
}
}];
}
@end
然后在AppDelegate中注冊Handler:
[WXSDKEngine registerHandler:[WXImageDownloader new] withProtocol:@protocol(WXImgLoaderProtocol)];
運(yùn)行后的效果為:
源代碼的地址還是 上篇文章中的github地址赋兵。