iOS屏幕根据键盘自动变化高度
发布时间 - 2026-01-11 02:12:54 点击率:次一、效果图
二、代码
ViewController.h
#import <UIKit/UIKit.h> @interface ViewController : UIViewController <UITextFieldDelegate> @end
ViewController.m
#import "ViewController.h"
#define W [UIScreen mainScreen].bounds.size.width
#define H [UIScreen mainScreen].bounds.size.height
@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];
}
#pragma -mark -UITextFieldDelegate
-(BOOL)textFieldShouldReturn:(UITextField *)textField
{
[textField resignFirstResponder];
//self.view 恢复原位
NSTimeInterval animationDuration=0.10f;
[UIView beginAnimations:@"ResizeForKeyboard" context:nil];
[UIView setAnimationDuration:animationDuration];
float width = W;
float height = H;
float Y = 0.0f;
CGRect rect=CGRectMake(0.0f,Y,width,height);
self.view.frame=rect;
[UIView commitAnimations];
return YES;
}
-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
NSTimeInterval animationDuration=0.30f;
[UIView beginAnimations:@"ResizeForKeyboard" context:nil];
[UIView setAnimationDuration:animationDuration];
float width = W;
float height = H;
//上移100个单位,按实际情况设置
CGRect rect=CGRectMake(0.0f,-100,width,height);
self.view.frame=rect;
[UIView commitAnimations];
return YES;
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# iOS
# 屏幕
# 键盘
# 高度
# iOS开发中使用屏幕旋转功能的相关方法
# iOS开发中控制屏幕旋转的编写方法小结
# 总结iOS App开发中控制屏幕旋转的几种方式
# iOS开发之使用Storyboard预览UI在不同屏幕上的运行效果
# iOS应用开发中使用Auto Layout来适配不同屏幕尺寸
# IOS开发中键盘输入屏幕上移的解决方法
# iOS如何获取屏幕宽高、设备型号、系统版本信息
# iOS屏幕适配开发实用技巧
# iOS中滑动控制屏幕亮度和系统音量(附加AVAudioPlayer基本用法和Masonry简单使用)
# iOS 中根据屏幕宽度自适应分布按钮的实例代码
# 实际情况
# 大家多多
# viewDidLoad
# void
# additional
# super
# implementation
# width
# size
# bounds
# height
# field
# UITextField
# initWithFrame
# alloc
# nib
# loading
# setup
# typically
# view
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
电视网站制作tvbox接口,云海电视怎样自定义添加电视源?
如何用免费手机建站系统零基础打造专业网站?
JS碰撞运动实现方法详解
linux写shell需要注意的问题(必看)
Laravel如何使用集合(Collections)进行数据处理_Laravel Collection常用方法与技巧
Laravel怎么配置不同环境的数据库_Laravel本地测试与生产环境动态切换【方法】
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?
node.js报错:Cannot find module 'ejs'的解决办法
专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?
微博html5版本怎么弄发超话_超话进入入口及发帖格式要求【教程】
Laravel如何使用Socialite实现第三方登录?(微信/GitHub示例)
如何制作一个表白网站视频,关于勇敢表白的小标题?
标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析
成都网站制作公司哪家好,四川省职工服务网是做什么用?
Laravel怎么导出Excel文件_Laravel Excel插件使用教程
Laravel Telescope怎么调试_使用Laravel Telescope进行应用监控与调试
千库网官网入口推荐 千库网设计创意平台入口
如何为不同团队 ID 动态生成多个独立按钮
Windows11怎样设置电源计划_Windows11电源计划调整攻略【指南】
如何在阿里云购买域名并搭建网站?
Laravel如何正确地在控制器和模型之间分配逻辑_Laravel代码职责分离与架构建议
Laravel怎么处理异常_Laravel自定义异常处理与错误页面教程
iOS UIView常见属性方法小结
Laravel广播系统如何实现实时通信_Laravel Reverb与WebSockets实战教程
如何在七牛云存储上搭建网站并设置自定义域名?
移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?
Laravel怎么清理缓存_Laravel optimize clear命令详解
Laravel怎么防止CSRF攻击_Laravel CSRF保护中间件原理与实践
如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?
Laravel如何操作JSON类型的数据库字段?(Eloquent示例)
JavaScript中如何操作剪贴板_ClipboardAPI怎么用
如何在阿里云香港服务器快速搭建网站?
网站制作大概多少钱一个,做一个平台网站大概多少钱?
Python面向对象测试方法_mock解析【教程】
Laravel如何安装使用Debugbar工具栏_Laravel性能调试与SQL监控插件【步骤】
如何生成腾讯云建站专用兑换码?
音乐网站服务器如何优化API响应速度?
Laravel怎么实现前端Toast弹窗提示_Laravel Session闪存数据Flash传递给前端【方法】
Laravel怎么配置自定义表前缀_Laravel数据库迁移与Eloquent表名映射【步骤】
如何在Windows服务器上快速搭建网站?
Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives
为什么php本地部署后css不生效_静态资源加载失败修复技巧【技巧】
Laravel如何使用Vite进行前端资源打包?(配置示例)
Laravel如何使用模型观察者?(Observer代码示例)
如何在云虚拟主机上快速搭建个人网站?
JavaScript如何实现倒计时_时间函数如何精确控制
小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?
高防服务器租用首荐平台,企业级优惠套餐快速部署
laravel怎么为应用开启和关闭维护模式_laravel应用维护模式开启与关闭方法

