【代码笔记】iOS-键盘自适应弹出
来源:互联网 发布:拖动拼图验证码java 编辑:程序博客网 时间:2024/06/03 18:28
一,效果图。
二,工程图。
三,代码。
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
阅读全文
0 0
- 【代码笔记】iOS-键盘自适应弹出
- iOS5键盘弹出view自适应
- ios键盘自适应
- iOS上键盘自适应
- iOS键盘自适应高度
- 【代码笔记】iOS-UILable高度自适应(sizeWithFont)
- iOS监听键盘弹出
- iOS 键盘弹出效果
- iOS wkwebview 弹出键盘
- android edittext 键盘弹出屏幕自适应
- iOS开发自适应键盘高度
- 【代码笔记】iOS-轮询弹出框
- 【代码笔记】iOS-自定义弹出框
- iOS开发笔记(1) -- 利用弹出键盘时使视图跟随键盘上移
- iOS根据键盘弹出计算键盘高度
- ios模拟器键盘不弹出
- IOS 弹出键盘 移动视图
- iOS 键盘弹出视图上移
- 【快速幂、组合数学】BZOJ1008 [HNOI2008]越狱
- linux断点续传目录
- 为PaaS云平台提供整合的全栈式监控
- centos7 Apache编译、安装
- python中 __name__及__main()__的妙处
- 【代码笔记】iOS-键盘自适应弹出
- CPAL-1.0 开源许可证说明
- 富士通MB95F636H输出PWM
- 计算机视觉-相机内参数和外参数
- iOS 开发中出现假死解决思路
- 数组反转与移位
- 55 WebGL加载三维模型
- 求一组随机数的最大值和最小值
- centos7 编译安装mysql