全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

iOS键盘自适应弹出效果

一、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小时内与您取得联系。