//
// ViewController.m
// NotificationLearnKeyBoard
//
// Created by wusiping on 15/11/21.
// Copyright (c) 2015年 wusiping. All rights reserved.
//
#import "ViewController.h"
@interface ViewController ()<UITextFieldDelegate>
@property(nonatomic,weak)UIView *mask;
@property (weak, nonatomic) IBOutletUITextField *accountText;
@end
@implementation ViewController
- (void)viewDidLoad {
[superviewDidLoad];
//在通知中心注册一个观察者self,当观察者接收到通知UIKeyboardWillShowNotification时就调用(showMask)方法
[[NSNotificationCenterdefaultCenter]addObserver:selfselector:@selector(showMask)name:UIKeyboardWillShowNotificationobject:nil];
//为输入框设置代理
self.accountText.delegate =self;
}
#pragma mark Notification
//显示一个蒙版,为蒙版添加点击事件
- (void)showMask
{
UIView *mask = [[UIViewalloc]init ];
CGFloat maskX = 0;
CGFloat maskY = 0;
CGFloat maskW = [UIScreenmainScreen].bounds.size.width;
CGFloat maskH = [UIScreenmainScreen].bounds.size.height;
CGRect maskFrame = CGRectMake(maskX, maskY, maskW, maskH);
mask.frame = maskFrame;
mask.backgroundColor = [UIColorblackColor];
mask.alpha = 0.5;
//为蒙版添加点击事件
UIGestureRecognizer *touchMask = [[UITapGestureRecognizeralloc]initWithTarget:selfaction:@selector(hideMask)];
[mask addGestureRecognizer:touchMask];
_mask = mask;
[self.viewaddSubview:_mask];
}
//点击蒙版后隐藏蒙版,同时隐藏键盘
- (void)hideMask
{
NSLog(@"我要消失了");
[self.viewendEditing:YES];
[_maskremoveFromSuperview];
}
#pragma 实现代理方法,当点击return时,就会调用这个方法
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
[textField resignFirstResponder];
[_maskremoveFromSuperview];
return YES;
}
@end