美文网首页
自定义消息提醒-AlertMessage

自定义消息提醒-AlertMessage

作者: _ChengChengCh | 来源:发表于2015-02-06 14:53 被阅读962次

介绍


项目开发中因为需要一个消息提醒,找了相当久都没找到合适的,最后决定还是自己来写一个吧。渣就渣,起码能够符合需求。
通过这么弄一弄,倒是加深了对UIView自带的动画效果的认识,这也是个不错的结果。
<br />

效果


AlertMessage.gif

恩,大概就是这样。

AlertMessage.h


@interface AlertMessage : UIView

-(id)initWithY:(CGFloat)y andTitle:(NSString *)title; //用字符串和显示坐标来初始化
-(id)initWithY:(CGFloat)y;
-(id)initWithTitle:(NSString *)title;
-(void)setStartWithY:(CGFloat)y; //设置显示坐标
-(void)setTitle:(NSString *)title; //设置显示字符串
-(void)showWithCover:(BOOL)boolean; //显示并设置显示之后还能否操作
-(void)dismiss; //移除提醒
-(void)setTitleColor:(UIColor *)titleColor; //设置字符串颜色
-(void)setAlertColor:(UIColor *)alertColor; //设置背景颜色
-(void)setAlertColor:(UIColor *)alertColor andTitleColor:(UIColor *)titleColor;
-(void)setDismissOnLeft:(BOOL)isOnLeft; //设置从哪个方向消失

@end

头文件里面大概就是这样的结构。
可以设置显示的地方,显示的文字,很简单。实现的功能也很简单。
<br />

AlertMessage.m


其实在实现文件里面,核心只有一个。那就是设置好起始坐标,以及播放动画后所移动到的坐标。
大概就是:

    #define HEIGHT_ALERT 55
    #define WIDTH_ALERT 180
    #define Y_OFFSET_ALERT 100
    #define X_OFFSET_ALERT (320 - WIDTH_ALERT)
    ……
    -(id)init {
        self = [self initWithFrame:CGRectMake([UIScreen mainScreen].bounds.size.width, Y_OFFSET_ALERT, WIDTH_ALERT, HEIGHT_ALERT)];
        //设置初始位置,就是在屏幕之外了
        return self;
    }
    -(void)show{
        [UIView animateWithDuration:0.35f animations:^{
            [self setFrame:CGRectMake([UIScreen mainScreen].bounds.size.width - WIDTH_ALERT, self.y, WIDTH_ALERT, HEIGHT_ALERT)];
            //动画执行,并移动到结束位置
        } completion:^(BOOL finished) {
            //动画结束后执行
        }];
    }
    -(void)dismiss{
        [UIView animateWithDuration:duration animations:^{
            [self setFrame:CGRectMake(endPoint, Y_OFFSET_ALERT, WIDTH_ALERT, HEIGHT_ALERT)];
            //动画执行,并移动到结束位置
        } completion:^(BOOL finished) {
             //动画结束后执行
    }];
    }

上面就是实现文件里面的核心部分了,其实就是播放动画。

写在最后


第一次尝试着写这样的自定义类,封装也花了不少时间。
最后做出了项目需要的效果,也是感慨。
至于源代码,找到合适的地方之后就会放出,反正这么简单的东西。大牛都表示一看就知道怎么弄了!

相关文章

  • 自定义消息提醒-AlertMessage

    介绍 项目开发中因为需要一个消息提醒,找了相当久都没找到合适的,最后决定还是自己来写一个吧。渣就渣,起码能够符合需...

  • 函数

    1、定义函数 调用函数:alertMessage('今天很开心!');2、函数表达式:

  • 本地消息提醒

    -(void)LocalNotification{ if([[[UIDevicecurrentDevice]sys...

  • ios 消息提醒

    文章纲要: 1. iOS app外消息提醒分类 2. iOS app 内消息提醒分类 正文: 消息提醒基本是每个a...

  • IM常用消息体&文本消息&自定义消息

    消息对象 消息元素对象 Msg.Elem 消息元素对象(文本) 消息元素对象(自定义) 自定义消息webim.Ms...

  • PX4源码分析7_添加mavlink自定义消息

    一.自定义mavlink消息: 根据uorb消息(.msg)自定义mavlink消息。方法为利用mavlink_g...

  • 腾讯云IM 聊天发送自定义消息

    发送自定义消息官网也讲的很清楚 自定义消息是指当内置的消息类型无法满足特殊需求,开发者可以自定义消息格式,内容全部...

  • 腾讯云IM 聊天发送自定义消息

    发送自定义消息官网也讲的很清楚 自定义消息是指当内置的消息类型无法满足特殊需求,开发者可以自定义消息格式,内容全部...

  • 融云二(自定义消息)

    相对于环信的自定义消息,融云提供的自定义消息更为简便。以下面红包消息为例. 首先针对自定义消息类型,你需要创建你的...

  • iOS 消息提醒数字

网友评论

      本文标题:自定义消息提醒-AlertMessage

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