博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
评论功能,点击textView,弹出键盘,textView上移相同高度
阅读量:5272 次
发布时间:2019-06-14

本文共 1313 字,大约阅读时间需要 4 分钟。

//_commentView未textview,需要跟随键盘移动的控件,有疑问可留言

 

//viewDidload中

 [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(keyboardWillAppear:) name:UIKeyboardWillShowNotification object:nil];

    [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(keyboardWillDisappear:) name:UIKeyboardWillHideNotification object:nil];

#pragma mark --开始编辑

- (BOOL)textViewShouldBeginEditing:(UITextView *)textView

{

    [_commentView becomeFirstResponder];

    return YES;

}

 

#pragma mark --键盘的高度计算:

-(CGFloat)keyboardEndingFrameHeight:(NSDictionary *)userInfo//计算键盘的高度

{

    CGRect keyboardEndingUncorrectedFrame = [[userInfo objectForKey:UIKeyboardFrameEndUserInfoKey]CGRectValue];

    CGRect keyboardEndingFrame = [self.view convertRect:keyboardEndingUncorrectedFrame fromView:nil];

    return keyboardEndingFrame.size.height;

}

#pragma mark --根据键盘高度将当前视图向上滚动同样高度。

-(void)keyboardWillAppear:(NSNotification *)notification

{

    CGFloat change = [self keyboardEndingFrameHeight:[notification userInfo]];

    

    [self.view bringSubviewToFront:_commentView];

    _commentView.transform = CGAffineTransformMakeTranslation(0, -change);

}

#pragma mark --当键盘消失后,视图需要恢复原状。

-(void)keyboardWillDisappear:(NSNotification *)notification

{

    _commentView.transform = CGAffineTransformIdentity;

}

 

转载于:https://www.cnblogs.com/haotianToch/p/6559338.html

你可能感兴趣的文章
Day13
查看>>
tensorflow saver简介+Demo with linear-model
查看>>
Luogu_4103 [HEOI2014]大工程
查看>>
Oracle——SQL基础
查看>>
项目置顶随笔
查看>>
Redis的安装与使用
查看>>
P1970 花匠
查看>>
java语言与java技术
查看>>
NOIP2016提高A组五校联考2总结
查看>>
iOS 项目的编译速度提高
查看>>
table中checkbox选择多行
查看>>
Magento开发文档(三):Magento控制器
查看>>
性能调优攻略
查看>>
ie6解决png图片透明问题
查看>>
瞬间的永恒
查看>>
2019-8-5 考试总结
查看>>
JS中实现字符串和数组的相互转化
查看>>
web service和ejb的区别
查看>>
Windows Azure Cloud Service (29) 在Windows Azure发送邮件(下)
查看>>
CS61A Efficiency 笔记
查看>>