涂图

  • 首页
  • 解决方案
    • 拍照和图片编辑
    • 视频录制和后期编辑
    • 模板视频
    • 人像美颜
    • 人脸特效
    • 滤镜特效
    • 贴纸特效
  • API服务
    • 人像服务
    • 视频融合
    • 人脸云
    • 在线滤镜
  • 客户案例
  • 下载
  • 文档
  • 关于我们
  • 控制台
  • 一、新手上路
  • 控制台操作说明
    • 控制台使用说明
    • 自定义资源上传说明
  • 二、SDK 文档
  • 图像 SDK
    • 产品说明
      • 产品指南
      • 性能测试报告
    • iOS 文档
      • 快速开始
      • 安装与更新
      • 集成向导
      • 相机组件的使用
      • 相册组件的使用
      • 照片美化组件的使用
      • 主题包基础使用
      • 自定义滤镜
      • 自定义贴纸
      • 自定义界面
      • 自定义 ProgressHUD 提示框(2.0.0~3.2.7)
      • 自定义 ProgressHUD 提示框
      • API 文档
      • 致谢
    • Android 文档
      • 快速开始
      • 安装与更新
      • 集成向导
      • 相机组件的使用
      • 照片美化组件的使用
      • 头像设置组件的使用
      • 多选相册组件的使用
      • 主题包基础使用
      • 自定义贴纸
      • 自定义滤镜
      • 自定义界面
      • 自定义进度信息提示框
      • 自定义 Activity 打开相机
      • API 文档
      • 致谢
    • iOS 技术问题
      • 「Incorrenct app key」
      • 更换滤镜效果图
      • 导航栏与状态栏
      • 组件中使用部分滤镜
      • Cocoapods 相关问题
      • 图片尺寸变化
      • Photos.framework 相关错误
      • 多包名发布
      • GPUImage 的相关错误
      • TuSDKTSALAsset 转换系统对象
      • 滤镜无法显示名称
      • 获取相机的点击事件
    • Android 技术问题
      • Incorrenct app key
      • 重复引用包
      • Recyclerview 库缺失
      • 方法数超出 65536 限制
      • 传入图片路径
      • 指定裁剪比例
      • 指定相册每行列数
      • 禁用相册自动跳转
      • 如何使用部分滤镜?
      • 代码混淆
      • TuSDK 使用的依赖库
      • 多渠道打包
      • 设置相机输出尺寸
      • 相机横屏设置
      • 自定义照片美化组件各功能模块效果默认参数值
    • 拼图设计
      • 拼图模板导出
    • 版本更新日志
      • iOS 版本更新日志
      • Android 更新日志
  • 视频剪辑 SDK
    • 产品说明
      • 产品指南
    • iOS文档
      • TuSDK Video Editor iOS 接入文档
    • Android文档
      • TuSDK Video Editor Android 接入文档
    • 版本更新日志
      • iOS 版本更新日志
      • Android 版本更新日志
  • 流处理(特效相机) SDK
    • 产品说明
      • 产品指南
    • iOS 文档
      • TuSDK特效相机接入文档-iOS
      • TuSDK直播特效接入说明-iOS
    • Android 文档
      • TuSDK特效相机接入文档-Android
      • TuSDK直播特效接入说明-Android
    • 版本更新日志
      • iOS 版本更新日志
      • Android 版本更新日志
  • 视频融合 SDK
    • 产品说明
      • 产品指南
      • 模板管理
    • iOS 文档
      • 快速开始
      • 安装与更新
      • TuSDK EVA 接入说明 2.0
      • API文档
    • Android 文档
      • 快速开始
      • 安装与更新
      • TuSDK EVA 接入说明 (2.0.0+)
      • API 文档
    • 模板设计
      • (新)标准模板设计规范
      • (旧)标准模板设计规范
      • 支持的 AE 功能和属性
      • 动态模板设计规范
    • 模板导出
      • (新)模板导出插件安装
      • (新)模板导出插件使用
      • (旧)模板导出插件安装
      • (旧)模板导出插件使用
      • (旧)模板效果查看器
      • (旧)模板打包规范
    • 版本更新日志
      • iOS 版本更新日志
      • Android 版本更新日志
      • 导出插件版本更新日志
      • 效果查看器更新日志
  • 短视频 SDK
    • 产品说明
      • 产品指南
      • 性能测试报告
    • iOS 文档
      • 快速开始
      • 集成向导
      • 录制相机的使用
      • 视频编辑器的使用
      • 功能 API 的使用
      • API 文档
    • Android 文档
      • 快速开始
      • 集成向导
      • 录制相机的使用
      • 视频编辑器的使用
      • 功能 API 的使用
      • API 文档
    • iOS 技术问题
      • 常见问题
    • Android 技术问题
      • 常见问题
    • 版本更新日志
      • iOS 版本更新日志
      • Android 版本更新日志
  • 三、云服务文档
  • 人像服务
    • 使用文档
      • 快速入门
      • 核心功能
    • API概述
      • API 概述
      • API 文档
    • 常见问题
      • 常见问题
  • 视频融合(云渲染)
    • 使用文档
      • 快速入门
      • 模板管理
    • API概述
      • API概述
      • API 文档
    • 模板设计
      • (新)标准模板设计规范
      • (旧)标准模板设计规范
      • 支持的 AE 功能和属性
      • 动态模板设计规范
    • 模板导出
      • (新)模板导出插件安装
      • (新)模板导出插件使用
      • (旧)模板导出插件安装
      • (旧)模板导出插件使用
      • (旧)模板效果查看器
      • (旧)模板打包规范
    • 常见问题
    • 版本更新日志
      • 导出插件版本更新日志
      • 效果查看器更新日志
  • 人脸云
    • 使用文档
      • 快速入门
      • 核心功能
    • API 概述
      • API 概述
    • 常见问题
      • 常见问题
  • 在线滤镜
    • 使用文档
      • 快速入门
      • 核心功能
      • FILTER API
      • API 错误码表
    • API概述
      • API 概述
    • 常见问题
      • 常见问题
  • 四、综合
  • 涂图隐私协议
  • 用户退出机制
  • 动态贴纸设计规范
  • 美妆贴纸设计规范
  • 云服务账单说明
  • 应用包名与密钥
  • 基础服务开发者升级流程
  • 五、常见问题
  • 常见问题
  • 遇到问题,怎么办?
  • 如何使用贴纸管理、滤镜管理?

自定义 ProgressHUD 提示框

说明

  • 在 TuSDK 1.X 版本当中部分用户提出了 TuSDK 中的 HUD 指示图的风格与自身 APP 的 HUD 风格不符,所以在 TuSDK 4.0版本中,我们开放了 HUD 的接口 TuPopupMessageInterface.h 方便用户对 HUD 指示图进行修改。

适用对象

TuSDK 4.0.0 以上版本。

实现功能

  • 通过提供接口 TuPopupMessageInterface.h,添加自定义的 HUD 的相关文件,来替换 TuSDK 中的 TuPopupProgress,来保证 TuSDK 组件和 APP 的 HUD 指示图风格一致。程序最后的运行效果如下图所示,其中自定义 HUD 指示图文件来自开源组件 SVProgressHUD:

    1 2

  • 对比TuSDK原版HUD指示图如下:

    3 4

具体步骤

  • 首先需要将 SVProgressHUD 的相关文件拖拽进工程,分别是 SVProgressHUD.h,SVProgressHUD.m 和 SVProgressHUD.bundle 文件效果图如下:

    5

  • TuSDK 内部是根据 TuPopupMessageInterface.h 内提供的方法进行调用的,提供的方法代码如下:

#import <UIKit/UIKit.h>

/**
 *  进度信息提示接口
 */
@protocol TuPopupMessageInterface <NSObject> 
/**
 * 显示信息
 *
 * @param status 信息
 *            
 */
-(void)setStatus:(NSString *)status;

/**
 * 显示信息 并自动关闭
 *
 * @param message
 *            信息
 */
-(void)showToast:(NSString *)message;

/**
 * 显示组件从 iCloud 加载图片时的进度信息
 *
 * @param progress 进度
 *            
 * @param status 信息
 *            
 */
-(void)showProgress:(float)progress status:(NSString *)status;

/**
 * 显示成功信息 并自动关闭
 *
 * @param status 信息
 *            
 */
-(void)showSuccess:(NSString *)status;

/**
 * 显示错误信息 并自动关闭
 *
 * @param status 信息
 *             
 */
-(void)showError:(NSString *)status;

/**
 * 使用动画关闭
 */
-(void)dismiss;
@end
  • 接口 TuPopupMessageInterface.h 提供一个协议,遵守协议实现协议内的方法,就可以替换 TuSDK 的 HUD 对象。SVProgressHUDMessage.h 和 SVProgressHUDMessage.m 两个文件实现了方法的调用,SVProgressHUDMessage.h 代码如下:
#import <Foundation/Foundation.h>
#import <TuViews/TuViews.h>

@interface SVProgressHUDMessage : NSObject<TuPopupMessageInterface>
@end
  • SVProgressHUDMessage.h 的代码中需要注意的有两点:

    • 引入头文件#import <TuViews/TuViews.h>
    • 遵守协议
  • SVProgressHUDMessage.m 代码如下:

#import "SVProgressHUDMessage.h"
#import "SVProgressHUD.h"


@implementation SVProgressHUDMessage
/**
 * 显示信息
 *
 * @param status 信息
 *            
 */
-(void)setStatus:(NSString *)status;
{
    [SVProgressHUD showWithStatus:status];
}

/**
 * 显示信息 并自动关闭
 *
 * @param message
 *            信息
 */
-(void)showToast:(NSString *)message;
{

}

/**
 * 显示组件从iCloud同步加载图片时的进度信息,不建议去除
 *
 * @param progress 进度
 *            
 * @param status 信息
 *            
 */
-(void)showProgress:(float)progress status:(NSString *)status;
{
    [SVProgressHUD showProgress:progress status:status];
}

/**
 * 显示成功信息 并自动关闭
 *
 * @param status 信息
 *            
 */
-(void)showSuccess:(NSString *)status;
{
    [SVProgressHUD showSuccessWithStatus:status];
}

/**
 * 显示错误信息 并自动关闭
 *
 * @param status 信息
 *            
 */
-(void)showError:(NSString *)status;
{
    [SVProgressHUD showErrorWithStatus:status];
}

/**
 * 使用动画关闭
 */
-(void)dismiss;
{
    [SVProgressHUD dismiss];
}

@end
  • SVProgressHUDMessage.m 的代码中需要注意的地方有两点:

  • 导入 SVProgressHUD 头文件 #import "SVProgressHUD.h"

  • 按照接口中提供的方法调用 SVProgressHUD 中对应的方法

  • 如使用过程中需求完全不出现 HUD 指示图 ,需要将 SVProgressHUDMessage.m 中的方法都留空

  • 最后需要对自定义的 HUD 的方法进行调用,自定义 HUD 文件的调用要在 TuSDK 初始化时进行调用,否则依然会调用 TuSDKPregressHUD 文件,代码如下:

#import "SVProgressHUDMessage.h"
#import <TuSDKGeeV1/TuSDKGeeV1.h>

@interface DemoRootViewController ()<DemoRootViewDelegate, TuSDKFilterManagerDelegate>
/**
 *  覆盖控制器视图
 */
@property (nonatomic, retain) DemoRootView *view;
/**
 *  进度信息提示!!!!!!!!!!!!!!!!这里很重要!!!!!!!!!!!!!!!!!!
 */
@property (nonatomic, retain) id<TuSDKICMessageHubInterface> messageHub;

@end
- (void)viewDidLoad {
    [super viewDidLoad];
    // sdk 统计代码,请不要加入您的应用
    [TuSDKTKStatistics appendWithComponentIdt:tkc_sdkComponent];

    self.title = NSLocalizedString(@"app_name", @"TuSDK 涂图");
    // 启动GPS
    [TuSDKTKLocation shared].requireAuthor = YES;


    /**
     * !!!!!!!!!!!!!!特别提示信息要!!!!!!!!!!!!!!!!!
     * 在此进行赋值
     *  
     * 
     */

    // 初始化自己定义的 HUD,替换掉 SDK 自带的 TuSDKProgressHUD。
    [TuViews shared].messageHub = [[SVProgressHUDMessage alloc]init];
  • 在工程中 Pods 的 TuSDK.strings 文件中字段进行修改可以改变 HUD 指示图上的文字提示

    6 7

  • 完成了以上步骤就可以对 TuSDK 的内部的 HUD 文件进行替换,来使用自定义 HUD 文件,达到风格一致的目的。

  • 如果需求完全去除 TuSDK 中的 HUD 指示图,需要将协议中的四个方法留空,TuSDK 中的 HUD 等待指示图就会完全去除。

  • 方法中关于现实进度信息的方法是显示 iCloud 同步的图片加载进度,是否去除需慎重考虑,如果去除在加载图片时将会没有进度显示以免造成不好的用户体验。

  • 说明
  • 适用对象
  • 实现功能
  • 具体步骤
  • 在线技术支持
  • 专业售前售后团队
  • 版本定期更新
  • 全方位解决方案

商务合作

  • 177-6716-7529
  • 2969573855
  • sales@tusdk.com
  • 浙江省 杭州市 西湖区 西斗门9号 福地创业园1号楼3楼301室

关注我们

qrcode

©2019-2025 TUTUCLOUD. All Rights Reserved. 杭州元凡视觉智能科技有限公司 | 浙ICP备14040447号-1 | 浙公网安备33010602001649号

  • 177-6716-7529
  • sales@tusdk.com
  • 2969573855