UIWindow-密碼框,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開發進階》-唐巧