菜鸟成长记-QQ聊天输入框随键盘弹起、UITableView加强

做即时通信界面时,有时候需要实现在输入框输入内容时,输入框随键盘弹起,而聊天的内容不会被盖在,也随之弹起

一:第一步其实很简单,监听键盘事件

   //监听键盘

NSNotificationCenter * notification = [NSNotificationCenter defaultCenter];

   //键盘位置变化

[notification addObserver:self selector:@selector(keyChangeFrom:) name:UIKeyboardWillChangeFrameNotification object:nil];


-(void)keyChangeFrom:(NSNotification *)notification{

    

  //得到键盘y

  CGRect re = [notification.userInfo[UIKeyboardFrameEndUserInfoKey] CGRectValue];

  CGFloat key =  re.origin.y;

  CGFloat offes = key - self.view.frame.size.height;

  [UIView animateWithDuration:0.25 animations:^{

        //整体向上偏移

      self.view.transform = CGAffineTransformMakeTranslation(0, offes);

   }];

    //UITableView最后一行显示到前面

    NSIndexPath * index  = [NSIndexPath indexPathForRow:self.array.count-1 inSection:0];

   [self.table scrollToRowAtIndexPath:index atScrollPosition:UITableViewScrollPositionTop animated:YES];


}


二:加载输入框,当然是自定义的

    RXSendInfor * inforBut = [[RXSendInfor allocinit];

    inforBut.frame = CGRectMake(0, CGRectGetMaxY(self.table.frame),self.view.frame.size.width, 46);

    inforBut.textfield.delegate = self;//给文本框设置代理

    [self.view addSubview:inforBut];




#pragma mark -----滚动时收回键盘

-(void)scrollViewWillBeginDragging:(UIScrollView *)scrollView{

    

    

        //将键盘叫回去

        [self.view endEditing:YES];

    

   

}

    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值