ios 自訂訊息提示框,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