您的位置:首页 > 产品设计 > UI/UE

隐藏键盘,在键盘上部添加一个取消键盘的按钮

2012-08-03 15:19 246 查看
首先在AppDelegate代理中添加一个通知方法

    [[NSNotificationCenter
defaultCenter]
addObserver:self
selector:@selector(keyboardShow:)
name:UIKeyboardDidShowNotification
object:nil];

方法实现部分:

-(void)keyboardShow:(NSNotification *)notificaton
{
        

    UIWindow* tempWindow = [[[UIApplication
sharedApplication]
windows]
objectAtIndex:1];//或者 

[[[UIApplication sharedApplication] windows] lastObject];

   
   
for(int i=0; i<[tempWindow.subviews
count]; i++)
    {
     
UIView *  keyboard = [tempWindow.subviews
objectAtIndex:i];
        NSString * string=[NSString
stringWithFormat:@"%@",[keyboard
class]];
       
if ([string
isEqual:@"UIPeripheralHostView"])//UIPeripheralHostView
        {//UIKeyboardCornerView
           
UIButton * btn=[UIButton
buttonWithType:1];
            [btn
setFrame:CGRectMake(220, -30,100 ,
30)];
            [keyboard
addSubview:btn];
            [btn
addTarget:self
action:@selector(resing:)
forControlEvents:UIControlEventTouchUpInside];
        }
  
        
    }
    

 
    
}

按钮调用的方法实现:

-(void)resing:(id)sender
{
    UIWindow* window = [UIApplication
sharedApplication].keyWindow;
    UIView *firstResponder = [window
performSelector:@selector(firstResponder)]; 
    [firstResponder
resignFirstResponder];
    
}

这样不管在任何地方,只要键盘出来上面就会有一个按钮,点击该按钮就会取消键盘。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐