一、iOS键盘自适应弹出效果图
二、工程图
三、代码
ViewController.h
#import <UIKit/UIKit.h> @interface ViewController : UIViewController <UITextFieldDelegate> @end
ViewController.m
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
UITextField *field=[[UITextField alloc]initWithFrame:CGRectMake(100, 300, 50, 50)];
field.backgroundColor=[UIColor redColor];
field.delegate=self;
[self.view addSubview:field];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil];
}
#pragma -mark -keyboard notificatin
- (void)keyboardWillShow:(NSNotification *)notification {
NSDictionary *info = [notification userInfo];
// keyboardHeight 为键盘高度
CGSize keyboardSize = [[info objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue].size;
[self animateViewWithKeyboardHeight:keyboardSize.height];
}
- (void)keyboardWillHide:(NSNotification *)notification {
[self animateViewWithKeyboardHeight:0.0];
}
- (void)animateViewWithKeyboardHeight:(CGFloat)keyboardHeight {
NSTimeInterval animationDuration = 0.3f;
CGFloat height = self.view.bounds.size.height;
CGFloat width = self.view.bounds.size.width;
CGFloat topSize = 0.0;
CGFloat viewH = self.view.frame.size.height-64;
CGFloat deviceHeight = [UIScreen mainScreen].bounds.size.height;
CGFloat animateH = deviceHeight - viewH - keyboardHeight;
if (animateH >= 0) {
topSize = 0;
CGRect toRect = CGRectMake(0, topSize, width, height);
self.view.frame = toRect;
} else {
topSize = animateH;
CGRect toRect = CGRectMake(0, topSize, width, height);
[UIView animateWithDuration:animationDuration animations:^{
self.view.frame = toRect;
}];
}
}
#pragma -mark -UITextFieldDelegate
-(BOOL)textFieldShouldReturn:(UITextField *)textField
{
[textField resignFirstResponder];
return YES;
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# iOS键盘自适应弹出
# iOS键盘弹出
# iOS自适应弹出
# ionic在开发ios系统微信时键盘挡住输入框的解决方法(键盘弹出问题)
# 解决ios模拟器不能弹出键盘问题的方法
# iOS应用开发中监听键盘事件的代码实例小结
# 总结IOS关闭键盘/退出键盘的五种方式
# iOS中的UIKeyboard键盘视图使用方法小结
# IOS关闭键盘的方法
# IOS开发中键盘输入屏幕上移的解决方法
# 总结IOS中隐藏软键盘的三种方式
# iOS让软键盘消失的简单方法
# iOS自定义键盘切换效果
# 弹出
# 大家多多
# 自适应
# 工程图
# alloc
# CGRectMake
# initWithFrame
# typically
# view
# loading
# field
# UITextField
# nib
# addObserver
# defaultCenter
# selector
# UIKeyboardWillShowNotification
# keyboardWillShow
# NSNotificationCenter
# UIColor
相关文章:
如何在IIS服务器上快速部署高效网站?
如何设计高效校园网站?
香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧
开封网站制作公司,网络用语开封是什么意思?
建站之星五站合一营销型网站搭建攻略,流量入口全覆盖优化指南
建站之星如何保障用户数据免受黑客入侵?
如何通过IIS搭建网站并配置访问权限?
如何通过网站建站时间优化SEO与用户体验?
网站好制作吗知乎,网站开发好学吗?有什么技巧?
建站之星安装失败:服务器环境不兼容?
如何通过二级域名建站提升品牌影响力?
济南企业网站制作公司,济南社保单位网上缴费步骤?
深圳 网站制作,深圳招聘网站哪个比较好一点啊?
如何基于云服务器快速搭建网站及云盘系统?
韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南
盘锦网站制作公司,盘锦大洼有多少5G网站?
网站制作的方法有哪些,如何将自己制作的网站发布到网上?
北京制作网站的公司排名,北京三快科技有限公司是做什么?北京三快科技?
香港服务器如何优化才能显著提升网站加载速度?
婚礼视频制作网站,学习*后期制作的网站有哪些?
如何选择高效可靠的多用户建站源码资源?
如何在万网自助建站平台快速创建网站?
头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?
视频网站app制作软件,有什么好的视频聊天网站或者软件?
网站制作公司,橙子建站是合法的吗?
济南专业网站制作公司,济南信息工程学校怎么样?
临沂网站制作企业,临沂第三中学官方网站?
如何彻底删除建站之星生成的Banner?
西安大型网站制作公司,西安招聘网站最好的是哪个?
活动邀请函制作网站有哪些,活动邀请函文案?
制作企业网站建设方案,怎样建设一个公司网站?
如何在宝塔面板创建新站点?
免费网站制作模板下载,除了易企秀之外还有什么H5平台可以制作H5长页面,最好是免费的?
Android自定义listview布局实现上拉加载下拉刷新功能
制作网站哪家好,cc、.co、.cm哪个域名更适合做网站?
,交易猫的商品怎么发布到网站上去?
行程制作网站有哪些,第三方机票电子行程单怎么开?
如何在云指建站中生成FTP站点?
如何登录建站主机?访问步骤全解析
建站之星代理商如何保障技术支持与售后服务?
广州网站建站公司选择指南:建站流程与SEO优化关键词解析
免费制作小说封面的网站有哪些,怎么接网站批量的封面单?
建站之星如何助力企业快速打造五合一网站?
公司网站建设制作费用,想建设一个属于自己的企业网站,该如何去做?
宝塔建站后网页无法访问如何解决?
制作农业网站的软件,比较好的农业网站推荐一下?
h5在线制作网站电脑版下载,h5网页制作软件?
如何通过万网虚拟主机快速搭建网站?
专业公司网站制作公司,用什么语言做企业网站比较好?
官网建站费用明细查询_企业建站套餐价格及收费标准指南
*请认真填写需求信息,我们会在24小时内与您取得联系。