解决第三方键盘的高度带来的问题。
来源:互联网 发布:linux 内核是什么 编辑:程序博客网 时间:2024/05/17 07:43
也可以用这个,如果这个方法不可用的话,跳过看下面的方法
//获取键盘的高度
NSDictionary*userInfo = [aNotificationuserInfo];
NSValue*aValue = [userInfoobjectForKey:UIKeyboardFrameEndUserInfoKey];
CGRectkeyboardRect = [aValueCGRectValue];
//键盘的高度和键盘的Y的坐标
CGFloatYKeyboard = keyboardRect.origin.y;
CGFloatheight = keyboardRect.size.height;
第一种方法
第二种方法
//获取键盘的高度
这个是获取第三次高度的。。。
- (void)keyboardWillShow:(NSNotification *)notification {
CGFloat curkeyBoardHeight = [[[notification userInfo] objectForKey:@"UIKeyboardBoundsUserInfoKey"] CGRectValue].size.height;
CGRect begin = [[[notification userInfo] objectForKey:@"UIKeyboardFrameBeginUserInfoKey"] CGRectValue];
CGRect end = [[[notification userInfo] objectForKey:@"UIKeyboardFrameEndUserInfoKey"] CGRectValue];
// 第三方键盘回调三次问题,监听仅执行最后一次
if(begin.size.height>0 && (begin.origin.y-end.origin.y>0)){
keyBoardHeight = curkeyBoardHeight;
然后根据你获取的keyBoardHeight来进行视图的操作、、
}
}
最后,我就只知道这两种。还有一个是第三方,功能很强大,但是没用过,这个差不多也是可以用的。还是给你们贴出来吧。
这个库的下载地址:https://github.com/hackiftekhar/IQKeyboardManager
这个库是一个单例,它一旦生效,全项目任何界面都有效。让它生效的代码可以写在任意位置,我写在AppDelegate里
- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions
{
IQKeyboardManager *manager = [IQKeyboardManager sharedManager];
manager.enable=YES;
manager.shouldResignOnTouchOutside=YES;
manager.shouldToolbarUsesTextFieldTintColor=YES;
manager.enableAutoToolbar=NO;returnYES;
}
enable控制整个功能是否启用。
shouldResignOnTouchOutside控制点击背景是否收起键盘。
shouldToolbarUsesTextFieldTintColor 控制键盘上的工具条文字颜色是否用户自定义。
enableAutoToolbar控制是否显示键盘上的工具条。
使用方法,代码如下:
运行后,可以看到输入框随着键盘的弹出自动上下浮动。点击背景,键盘收起。全自动了。
这个库默认支持UITextField、UITextView、UIWebView、UIScrollView、UITableView、UICollectionView
最后要注意一点,它可以自动计算多个textField之间的先后顺序,排列依据是看addSubView的先后顺序。
- 解决第三方键盘的高度带来的问题。
- 第三方键盘高度
- 第三方键盘高度
- iOS8以后第三方键盘,获取高度为0的问题
- iOS第三方键盘高度获取方法
- iOS监测第三方键盘高度
- 第三方解决键盘遮挡问题总结(IQKeyboardManager)
- 自动获取cell高度的第三方
- 好用的键盘第三方
- 解决float浮动带来的父元素高度没有的问题---清除浮动
- 解决float浮动带来的父元素高度没有的问题---清除浮动
- 监控键盘高度(包括第三方键盘)
- 解决第三方DLL没有强签名的问题
- 解决IE拒绝第三方cookie的问题
- 解决 iOS 第三方 SDK 之间重复的 symbols 问题
- angular4中解决引入第三方库不起作用的问题
- CocoaPods 安装第三方时出现的问题及解决
- spring boot解决第三方jar包依赖的问题
- lintcode(M)二叉树的层序遍历II
- 单例模式
- 手把手教你如何刷百度下拉联想词
- 各种排序算法及java实现
- PHPUnit的使用
- 解决第三方键盘的高度带来的问题。
- 在Activity中添加返回键
- 第五届蓝桥杯软件类决赛真题-C-A-1_海盗分金币
- CSS 元素垂直居中的 6种方法
- 其他树
- Cordova/CDVViewController.h file not found 解决办法
- Messenger与AIDL的异同
- Android studio导入另外一个项目作为Library后出现两个启动项目等各类问题
- 如何避免新入职的程序员痛苦和迷茫?