HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – iPad上的UIModalPresentationFormSheet.键盘出现时如何调整UITextView高度大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
UITextView是模态控制器视图的子视图.当键盘出现时,我需要降低UITextView高度,以便UITextView的底部边框y坐标等于键盘的顶部y坐标.
我想要键盘高度
CGRect frameBegin = [[notification.userInfo objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue] ;
CGRect frameEnd = [[notification.userInfo objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue];

CGRect resultBegin = [self.view convertRect:frameBegin fromView:nil];
CGRect resultEnd = [self.view convertRect:frameEnd fromView:nil];

CGFloat kbdHeight = resultBegin.origin.y  - resultEnd.origin.y;

问题是当键盘出现时,此模态视图会跳起来.在这种情况下如何计算键盘的顶部边框坐标?

解决方法

你可以这样做:
1. Register for keyboard notifications:

[[NsnotificationCenter defaultCenter] addObserver:self
                                         SELEctor:@SELEctor(myTextViewHeightAdjustMethod:)
                                             name:UIKeyboardWillShowNotification
                                           object:nil];

[[NsnotificationCenter defaultCenter] addObserver:self
                                         SELEctor:@SELEctor(myTextViewHeightAdjustMethod:)
                                             name:UIKeyboardDidShowNotification
                                           object:nil];

2. CalculatE intersection and adjust textView height with the bottom consTraint

    - (void)myTextViewHeightAdjustMethod:(Nsnotification *)notification
    {
        NSDictionary *userInfo = [notification userInfo];
        CGRect keyboardFinalFrame = [[userInfo emf_ObjectOrNilForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue];

        CGPoint keyboardOriginInView = [self.view convertPoint:keyboardFinalFrame.origin fromView:nil];

             CGFloat intersectionY = CGRectGetMaxY(self.view.framE) - keyboardOriginInView.y;

             if (intersectionY >= 0)
             {
                 self.textViewBottomcatonsTraint.constant = intersectionY + originalTextViewBottomcatonsTraint;

                 [self.textView setNeedsLayout];
    }

请记得取消注册通知.

大佬总结

以上是大佬教程为你收集整理的ios – iPad上的UIModalPresentationFormSheet.键盘出现时如何调整UITextView高度全部内容,希望文章能够帮你解决ios – iPad上的UIModalPresentationFormSheet.键盘出现时如何调整UITextView高度所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。