一、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
相关文章:
如何通过老薛主机一键快速建站?
魔毅自助建站系统:模板定制与SEO优化一键生成指南
网站制作网站,深圳做网站哪家比较好?
网站微信制作软件,如何制作微信链接?
高防服务器租用如何选择配置与防御等级?
一键网站制作软件,义乌购一件代发流程?
如何高效配置香港服务器实现快速建站?
如何在IIS7上新建站点并设置安全权限?
家庭建站与云服务器建站,如何选择更优?
如何选择高效稳定的ISP建站解决方案?
如何快速搭建高效香港服务器网站?
制作网站的公司有哪些,做一个公司网站要多少钱?
如何在建站主机中优化服务器配置?
兔展官网 在线制作,怎样制作微信请帖?
香港服务器网站推广:SEO优化与外贸独立站搭建策略
北京网页设计制作网站有哪些,继续教育自动播放怎么设置?
公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?
如何通过PHP快速构建高效问答网站功能?
网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?
如何在腾讯云服务器快速搭建个人网站?
高性价比服务器租赁——企业级配置与24小时运维服务
大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?
台州网站建设制作公司,浙江手机无犯罪记录证明怎么开?
Android滚轮选择时间控件使用详解
宝华建站服务条款解析:五站合一功能与SEO优化设置指南
如何在Mac上搭建Golang开发环境_使用Homebrew安装和管理Go版本
建站VPS推荐:2025年高性能服务器配置指南
外贸公司网站制作哪家好,maersk船公司官网?
如何获取上海专业网站定制建站电话?
湖北网站制作公司有哪些,湖北清能集团官网?
如何选择高效便捷的WAP商城建站系统?
山东云建站价格为何差异显著?
建站中国必看指南:CMS建站系统+手机网站搭建核心技巧解析
开心动漫网站制作软件下载,十分开心动画为何停播?
C#如何使用XPathNavigator高效查询XML
建站主机类型有哪些?如何正确选型
Android自定义控件实现温度旋转按钮效果
建站之星安全性能如何?防护体系能否抵御黑客入侵?
清单制作人网站有哪些,近日“兴风作浪的姑奶奶”引起很多人的关注这是什么事情?
音乐网站服务器如何优化API响应速度?
linux top下的 minerd 木马清除方法
建站VPS选购需注意哪些关键参数?
如何选择适配移动端的WAP自助建站平台?
建站主机数据库如何配置才能提升网站性能?
建站主机与虚拟主机有何区别?如何选择最优方案?
做企业网站制作流程,企业网站制作基本流程有哪些?
网站制作外包价格怎么算,招聘网站上写的“外包”是什么意思?
教学论文网站制作软件有哪些,写论文用什么软件
?
手机网站制作与建设方案,手机网站如何建设?
简单实现Android文件上传
*请认真填写需求信息,我们会在24小时内与您取得联系。