优化版的App提示&活动指示器的提示
Posted iOS的美丽岁月
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了优化版的App提示&活动指示器的提示相关的知识,希望对你有一定的参考价值。
一、在App 开发中提示用户这样的功能非常常见。例如:用户有些不正确的操作后,App应给与相关的提示;还有在App 加载的内容的时候,为了消除用户着急的心里,我们进行一个活动指示器的提示等。。。
二、我们的提示的优点
1》使用简单,代码一行就能完成。
2》代码可以移植高,耦合度低。
3》样式随时可以修改。
4》App 提示默认经典样式。
5》提示位置可以控制。
6》支持屏幕旋转。
三、展示我们的提示效果
1、 基本的
代码调用如下:
[self.view showToastMessage:@"短信已发送,请注意查收"];
效果图如下:
2、图片
调用代码如下:[self.view showTosatImageView:[UIImage imageNamed:@"dog.png"]];
展示效果如下:
3、图片&消息
调用代码[self.view showTosatMessage:@"看一看" title:nil image:[UIImage imageNamed:@"dog.png"]];
效果展示:4、 图片 & 消息 & 标题 调用代码
[self.view showTosatMessage:@"看一看" title:@"狗狗照" image:[UIImage imageNamed:@"dog.png"]];
展示效果:5、 图片 & 消息 & 标题 & 展示时间 调用代码
[self.view showTosatMessage:@"看一看" title:@"狗狗照" image:[UIImage imageNamed:@"dog.png"] duration:2];
效果展示
[self.view showTosatMessage:@"看一看" title:@"狗狗照" image:[UIImage imageNamed:@"dog.png"] position:@"0.3" duration:2];
展示效果7、简单的活动指示器 代码调用
[self.view showActivityTaost];
效果展示:8、 指示器 & 文字 & 位置 调用代码
[self.view showActivityToast:@"正在加载,请稍后..." withPosition:@"0.3"];
效果展示10、指示器的清楚 调用代码
[self.view deleteActivity];
四、提示的配置文件展示
//
// NWToastConfigurationFile.h
// ToastView
//
// Created by MAC on 2017/6/6.
// Copyright © 2017年 NetworkCode小贱. All rights reserved.
//
#ifndef NWToastConfigurationFile_h
#define NWToastConfigurationFile_h
#pragma mark 提示的样式设置
static const BOOL NWToastIsShadow = YES ;
static const BOOL NWToastIsHidesOnTap = YES ;
#pragma mark 常规变量的设置
/* 圆切角*/
static const CGFloat NWToastCornerRadius = 6.0 ;
/* 提示阴影透明度*/
static const CGFloat NWToastShadowOpacity = 0.6 ;
/* 阴影的圆角*/
static const CGFloat NWToastShadowRadius = 6.0 ;
/* 阴影的位置偏移*/
static const CGSize NWToastShadowOffset = 4.0 ,4.0 ;
/* 提示背景色透明度*/
static const CGFloat NWToastOpacity = 0.6 ;
/* 提示标题的最大换行数*/
static const NSInteger NWToastMaxTitleLines = 0 ;
/* 提示标题的字体大小*/
static const CGFloat NWToastTitleFontSize = 16.0 ;
/* 提示图片的设置*/
static const CGFloat NWToastImageViewHorizontalPadding = 10.0 ;
static const CGFloat NWToastImageViewVerticalPadding = 10.0 ;
static const CGFloat NWToastImageViewWidth = 80.0 ;
static const CGFloat NWToastImageViewHeight = 80.0 ;
/* 设置提示的最大宽度和高度*/
static const CGFloat NWToastMaxHeight = 0.8 ;
static const CGFloat NWToastMaxWidth = 0.8 ;
/* 提示内容元素上下间隔*/
static const CGFloat NWToastElementVerticalPadding = 10.0 ;
/* 提示默认位置*/
static const CGFloat NWToastVerticalCenter = 0.5 ;
/* 提示显示过程的时间*/
static const CGFloat NWToastFadeDuration = 0.3 ;
/* 提示定时器的key*/
static const NSString * NWToastTimerKey = @"NWToastTimerKey";
/* 提示存在的时间*/
static const CGFloat NWToastExistTime = 4 ;
#pragma mark 带活动指示器的设置
static const NSString * NWActivityToastKey = @"NWActivityToastKey";
/* 活动指示器的提示View的背景色灰白度的参数*/
static const CGFloat NWActivityToastComponent = 0.8 ;
/* 活动指示器的提示层的透明度*/
static const CGFloat NWActivityToastAlpha = 0.8 ;
/* 提示层的圆切角*/
static const CGFloat NWActivityToastCornerRadius = 6.0;
/* 提示是否有投影*/
static const BOOL NWActivityToastShadow = YES;
/* 提示阴影透明度*/
static const CGFloat NWActivityToastShadowOpacity = 0.6 ;
/* 阴影的圆角*/
static const CGFloat NWActivityToastShadowRadius = 6.0 ;
/* 阴影的位置偏移*/
static const CGSize NWActivityToastShadowOffset = 4.0 ,4.0 ;
/* 提示消息文字大小*/
static const CGFloat NWActivityToastFont = 16.0 ;
/* 提示消息文字的最大展示行*/
static const NSInteger NWActivityMaxLine = 0 ;
/* 提示文字最大展示的宽度*/
static const CGFloat NWActivityMaxWidth = 0.6;
/* 提示文字最大展示的高度*/
static const CGFloat NWActivityMaxHeigth = 0.6;
/* 提示内容元素上下间隔*/
static const CGFloat NWActivityToastElementVerticalPadding = 10.0 ;
/* 活动指示器的宽与高*/
static const CGFloat NWActivityToastWidth = 60.0 ;
static const CGFloat NWActivityToastHeight = 60.0 ;
/* 活动指示器移除的时间*/
static const CGFloat NWActivityToastFadeDuration = 0.3 ;
#endif /* NWToastConfigurationFile_h */
五、提示方法展示
//
// UIView+NWToast.h
// ToastView
//
// Created by MAC on 2017/6/6.
// Copyright © 2017年 NetworkCode小贱. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface UIView (NWToast)
/*!
单独的一个信息展示
*/
-(void)showToastMessage:(NSString*)message;
/*!
单独显示图片
*/
-(void)showTosatImageView:(UIImage*) image;
/*!
标题、图片、消息
*/
-(void)showTosatMessage:(NSString*)message title:(NSString*)title image:(UIImage*) image ;
/*!
标题、图片、消息、时间
*/
-(void)showTosatMessage:(NSString*)message title:(NSString*)title image:(UIImage*) image duration:(NSTimeInterval)time;
/*!
标题、图片、消息、位置
point : 高度小于提示框的一半,则为默认状态
*/
-(void)showTosatMessage:(NSString*)message title:(NSString*)title image:(UIImage*) image position:(id) point duration:(NSTimeInterval)time;
#pragma mark 带有活动指示器的提示
/**
单独的活动指示器
*/
-(void)showActivityTaost;
/**
活动指示器和文字和位置
*/
-(void)showActivityToast:(NSString*)message withPosition:(id) point;
/**
清楚活动指示器
*/
-(void)deleteActivity;
@end
六、提示样式的布局
//
// UIView+NWToast.m
// ToastView
//
// Created by MAC on 2017/6/6.
// Copyright © 2017年 NetworkCode小贱. All rights reserved.
//
#import "UIView+NWToast.h"
#import "NWToastConfigurationFile.h"
#import <objc/runtime.h>
@implementation UIView (NWToast)
#pragma mark showToastMessage:
-(void)showToastMessage:(NSString*)message
UIView * tosat = [self createTosast:message title:nil image:nil];
[self nwShowTosat:tosat duration:NWToastExistTime position:nil];
#pragma mark showTosatImageView:
-(void)showTosatImageView:(UIImage*) image
UIView * tosat = [self createTosast:nil title:nil image:image];
[self nwShowTosat:tosat duration:NWToastExistTime position:nil];
#pragma mark showTosatMessage:title:image
-(void)showTosatMessage:(NSString*)message title:(NSString*)title image:(UIImage*) image
UIView * tosat = [self createTosast:message title:title image:image];
[self nwShowTosat:tosat duration:NWToastExistTime position:nil];
#pragma mark showTosatMessage:title:image:duration
-(void)showTosatMessage:(NSString*)message title:(NSString*)title image:(UIImage*) image duration:(NSTimeInterval)time
UIView * tosat = [self createTosast:message title:title image:image];
[self nwShowTosat:tosat duration:time position:nil];
#pragma mark showTosatMessage:title:image:position
-(void)showTosatMessage:(NSString*)message title:(NSString*)title image:(UIImage*) image position:(id) point duration:(NSTimeInterval)time
UIView * tosat = [self createTosast:message title:title image:image];
[self nwShowTosat:tosat duration:time position:point];
#pragma mark toast展示到视图上
-(void)nwShowTosat:(UIView*)toast duration:(NSTimeInterval)time position:(id) point
/**
设置提示的位置
*/
toast.center = [self nwCalculateTosat:toast withPosition:point];
toast.alpha = 0.0;
/**
添加点击事件
*/
if (NWToastIsHidesOnTap)
toast.userInteractionEnabled = YES;
UITapGestureRecognizer * tapGestureRecognizer = [[UITapGestureRecognizer alloc]initWithTarget:toast action:@selector(tapClick:)];
[toast addGestureRecognizer以上是关于优化版的App提示&活动指示器的提示的主要内容,如果未能解决你的问题,请参考以下文章