点击蒙版或return隐藏键盘 ios

来源:互联网 发布:mysql emoji utf8mb4 编辑:程序博客网 时间:2024/05/17 04:37

//

//  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




0 0
原创粉丝点击