码迷,mamicode.com
首页 > Windows程序 > 详细

UIWindow-密码框

时间:2015-07-28 21:17:45      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:

一,工程结构,如下图所示:

 

技术分享

 

二,代码

PasswordInputWindow.h

 

技术分享
#import <UIKit/UIKit.h>

@interface PasswordInputWindow : UIWindow

+(PasswordInputWindow *)shareInstance;
-(void)show;

@end
技术分享

 

PasswordInputWindow.m

 

技术分享
#import "PasswordInputWindow.h"

@implementation PasswordInputWindow
{
    UITextField *_textField;
}

+(PasswordInputWindow *)shareInstance
{
    static id shareInstance=nil;
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken,^{
        
        shareInstance=[[self alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    });
    return shareInstance;
}
-(id)initWithFrame:(CGRect)frame
{
    self=[super initWithFrame:frame];
    if (self) {
        
        UILabel *label=[[UILabel alloc]initWithFrame:CGRectMake(10, 50, 200, 20)];
        label.text=@"请输入密码";
        [self addSubview:label];
        
        UITextField *textField=[[UITextField alloc]initWithFrame:CGRectMake(10, 80, 200, 20)];
        textField.backgroundColor=[UIColor whiteColor];
        textField.secureTextEntry=YES;
        [self addSubview:textField];
        
        
        UIButton *button=[[UIButton alloc] initWithFrame:CGRectMake(10, 110, 200, 44)];
        [button setBackgroundColor:[UIColor blueColor]];
        button.titleLabel.textColor=[UIColor blackColor];
        [button setTitle:@"确定" forState:UIControlStateNormal];
        [button addTarget:self action:@selector(completeButtonPressed:) forControlEvents:UIControlEventTouchUpInside];
        [self addSubview:button];
        
        
        self.backgroundColor=[UIColor yellowColor];
        _textField=textField;
    }
    return self;
}
-(void)show
{
    [self makeKeyAndVisible];
    self.hidden=NO;
}
-(void)completeButtonPressed:(id)sender{
    if ([_textField.text isEqualToString:@"abcd"]) {
        [_textField resignFirstResponder];
        [self resignFirstResponder];
        self.hidden=YES;
    }else{
        [self showErrorAlertView];
    }
}
-(void)showErrorAlertView
{
    UIAlertView *alertView=[[UIAlertView alloc]initWithTitle:nil message:@"密码错误,正确密码是abcd" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
    [alertView show];
}
@end
技术分享

 

三,运行效果。

 

技术分享

 

 

参考资料 :

《iOS开发进阶》-唐巧 

版权声明:本文为博主原创文章,未经博主允许不得转载。

UIWindow-密码框

标签:

原文地址:http://blog.csdn.net/fanqingtulv/article/details/47109749

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!