• 【读书笔记】iOS-UIWindow-密码框


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

     

     

    二,代码

    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开发进阶》-唐巧 

  • 相关阅读:
    jquery两个滚动条样式
    js双层动画幻灯
    漂浮QQ
    js物理弹性窗口
    js抽奖跑马灯程序
    经典算法
    判断手机浏览器终端设备
    javascript判断手机旋转横屏竖屏
    【转】处理百万级以上的数据提高查询速度的方法
    Linux -- Centos 下配置LNAMP 服务器环境
  • 原文地址:https://www.cnblogs.com/yang-guang-girl/p/4684099.html
Copyright © 2020-2023  润新知