UIWindow的基本使用,一进入界面需输入密码

本文介绍了一个简单的iOS应用示例,该应用创建了一个用于输入密码的弹出窗口。窗口包含一个提示标签、密码输入框及确认按钮。当输入正确密码时,窗口关闭;若密码错误,则显示警告。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#import <UIKit/UIKit.h>


@interface PasswordInputWindow : UIWindow


+(PasswordInputWindow *)sharedInstance;


- (void)show;

@end

#import "PasswordInputWindow.h"


@implementation PasswordInputWindow

{

    UITextField *_textField;

}


+ (PasswordInputWindow *)sharedInstance

{

    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 buttonWithType:UIButtonTypeSystem];

        button.frame = 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 makeKeyWindow];

    self.hidden = NO;

}


- (void)completeButtonPressed:(id)sender

{

    if ([_textField.text isEqualToString:@"111"]) {

        [_textField resignFirstResponder];

        self.hidden = YES;

        _textField.text = nil;

        

    }else{

        [self showErrorAlertView];

    }

}


- (void)showErrorAlertView

{

    UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:nil message:@"密码错误" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];

    

    [alertView show];

}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值