zoukankan      html  css  js  c++  java
  • ios 自定义消息提示框

    自定义提示框,3秒钟后自动消失。如上图显示效果。

    提示框加载代码:

    - (void)viewDidLoad {
        [super viewDidLoad];
        
        //将view背景颜色变更为黄色
        self.view.backgroundColor = [UIColor yellowColor];
        
        //在self.view上加载提示框
        [[BIDNoteView sharedInstance] showNoteView:@"显示提示信息" subView:self.view];
    }

    BIDNoteView.h 代码:

    //
    //  BIDNoteView.h
    //  label上画横线
    //
    //  Created by eJiupi on 14-7-23.
    //  Copyright (c) 2014年 xujinzhong. All rights reserved.
    //
    
    #import <Foundation/Foundation.h>
    
    @interface BIDNoteView : NSObject
    
    + (BIDNoteView*)sharedInstance;
    
    - (void)showNoteView:(NSString*)noteText subView:(UIView*)subView;
    
    -(void)setFont:(UIFont*)font;
    
    @end

    BIDNoteView.m 实现代码:

    //
    //  BIDNoteView.m
    //  label上画横线
    //
    //  Created by eJiupi on 14-7-23.
    //  Copyright (c) 2014年 xujinzhong. All rights reserved.
    //
    
    #import "BIDNoteView.h"
    
    
    @interface BIDNoteView ()
    
    //@property (strong, nonatomic) UIView *subView;
    
    @property (strong, nonatomic) UIView *noteView;
    @property (strong, nonatomic) UILabel *noteLable;
    
    @property (strong, nonatomic) NSTimer *timer;
    
    @end
    
    
    @implementation BIDNoteView
    
    + (BIDNoteView*)sharedInstance
    {
        static BIDNoteView* instance = nil;
        if (instance == nil)
        {
            instance = [[BIDNoteView alloc] init];
        }
        return instance;
    }
    
    - (id)init
    {
        self = [super init];
        if (self)
        {
            NSInteger w = 220;
            NSInteger h = 50;
            NSInteger x = ([UIScreen mainScreen].bounds.size.width-w)/2;
            NSInteger y = [UIScreen mainScreen].bounds.size.height-60-h;
           
            self.noteView = [[UIView alloc] initWithFrame:CGRectMake(x, y, w, h)];
            self.noteView.layer.cornerRadius = 5.0;
            self.noteView.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.6];
            
            self.noteLable = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, w, h)];
            self.noteLable.text = @"亲,没有更多商品信息了哦";
            self.noteLable.numberOfLines=2;
            self.noteLable.textColor = [UIColor whiteColor];
            self.noteLable.textAlignment = NSTextAlignmentCenter;
            self.noteLable.backgroundColor = [UIColor clearColor];
            [self.noteView addSubview:self.noteLable];
        }
        return self;
    }
    
    -(void)setFont:(UIFont*)font
    {
        self.noteLable.font=font;
    }
    
    - (void)showNoteView:(NSString*)noteText subView:(UIView*)subView
    {
        if (self.timer != nil && [self.timer isValid]) {
            [self.timer invalidate];
            self.timer = nil;
        }
        
        if (noteText != nil && [noteText length] > 0)
            self.noteLable.text = noteText;
        
        [subView addSubview:self.noteView];
        [subView layoutIfNeeded];
        self.timer = [NSTimer scheduledTimerWithTimeInterval:1.5 target:self selector:@selector(timerFired:) userInfo:nil repeats:NO];
    }
    
    - (void)timerFired:(NSTimer*)timer
    {
        [self.timer invalidate];
        //[self setFont:[BIDDeviceFont font_15]];
        [self setFont:[UIFont fontWithName:@"Helvetica" size:15]];
        self.timer = nil;
        [self.noteView removeFromSuperview];
    }
    
    @end
  • 相关阅读:
    etcd客户端c#
    【Python 2 到 3 系列】 关于除法的余数
    彻底搞定C指针--“函数名与函数指针”
    关于 函数指针和函数名 例子的疑难解答
    stat.h头文件,轻松获取文件属性
    C++指针之间的赋值与转换规则总结
    (转)mblog解读(二)
    (转)mblog解读(一)
    (转)renren-fast解读(二)
    (转)renren-fast解读(一)
  • 原文地址:https://www.cnblogs.com/xujinzhong/p/8464619.html
Copyright © 2011-2022 走看看