美文网首页iOS Developer
Weex系列二、显示图片

Weex系列二、显示图片

作者: 大河_大河 | 来源:发表于2017-02-17 10:35 被阅读225次

上次我们创建了一个简单的Weex的demo。

一、常用的类

WXSDKEngine:SDK开放的绝大多数接口都在此有声明。

WXLog: 用来打印日志。

WXDebugTool: weex提供的对外调试工具。

WXAppConfiguration: 使用weex开发的业务性配置。

二、添加图片

1、浏览器查看
建议大家可以看下阿里团队的weex文章
在上篇的helloweex.we 中的div标签中 加入图片image标签和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>

运行weex helloWeex.we 后,效果如下:

图片显示

2、iOS端显示图片
我们执行 weex helloWeex.we -o helloWeex.js 。然后把生成的helloWeex.js 替换到项目中。
然后在iPhone上运行 会发现 图片并没有显示出来。
首先我们新建一个 WXImageDownloader 类,用来实现图片下载协议WXImgLoaderProtocol。

代码如下:

#import <WeexSDK/WeexSDK.h>

@interface WXImageDownloader : NSObject <WXImgLoaderProtocol>

@end

在.m文件中实现WXImgLoaderProtocol协议的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)];

运行后的效果为:


图片展示

源代码的地址还是 上篇文章中的github地址。

相关文章

  • Weex系列二、显示图片

    上次我们创建了一个简单的Weex的demo。 一、常用的类 二、添加图片 1、浏览器查看建议大家可以看下阿里团队的...

  • 阿里Weex Android显示图片

    1. Weex Vue 中图片两种路径写法 参考: Weex 资源路径 image 组件必须指定宽高,要不然不会显...

  • 2018-06-25weex开发问题

    1. (已解决)开发遇到图片不显示问题,原因是开发的时候weex代码最终调用的是原生项目中的资源,不是weex代码...

  • weex总结(iOS集成weex)

    1.标签使用本地图片 2. src 网络图片不显示问题 3.weex 调用 oc 比如...

  • iOS-Weex-Gif图片显示

    第一步:在项目中即成SDWebImage库 第二步:在初始化WXSDKEngine时注册图片库 第三步:实现WXI...

  • weex 项目在iOS 14系统中运行,图片无法显示

    weex sdk 0.28.0 版本的项目在iOS 14系统中运行,图片无法显示 针对iOS14系统,即Xcode...

  • 深入Weex系列(八)之Weex SDK架构分析

    1、前言 经过前面几篇Weex源码分析系列文章,相信大家对Weex是什么、Weex能带来什么、Weex是如何工作的...

  • 【React Native】

    初识weex系列(前端视角) - 步入正轨 补充前面知识一点,打包出来的app怎么更换图片,改变下图的图片路径就好...

  • weex打包Android和IOS

    1.安装weex 安装结束后你可以直接使用 weex help 命令验证是否安装成功,它会显示 weex 支持的所...

  • weex image组件显示合成后的图片

    项目中有个功能需要对图片进行合成,所以在ios下自定义了一个图片合成的mudule。由于weex的image组件的...

网友评论

    本文标题:Weex系列二、显示图片

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