【代码笔记】iOS-只让textField使用键盘通知
来源:互联网 发布:新疆广电网络缴费方式 编辑:程序博客网 时间:2024/06/05 04:20
代码:
#import "ViewController.h"@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. //为textField增加键盘事件 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(addKeyboardNoti) name:UITextFieldTextDidBeginEditingNotification object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(removeKeyboardNoti) name:UITextFieldTextDidEndEditingNotification 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 -UITextFieldText Notification//增加键盘事件-(void)addKeyboardNoti{ NSLog(@"------addKeyboardNoti-------"); [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil];}//移除键盘事件-(void)removeKeyboardNoti{ NSLog(@"------removeKeyboardNoti---------"); [[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillShowNotification object:nil]; [[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillHideNotification object:nil];}- (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated.}@end
阅读全文
0 0
- 【代码笔记】iOS-只让textField使用键盘通知
- iOS 让scrollView 上面的textField消退键盘
- iOS textField 回收键盘
- iOS中,textField弹出键盘时,让整个视图上移,键盘回收,视图收回
- iOS 键盘通知(NSNotificationCenter)正确使用
- iOS textField 只输入数字
- textfield只出现光标不出现键盘
- IOS 键盘遮住了TextField
- IOS TextField伴随键盘移动
- iOS键盘通知
- 处理iOS键盘通知
- iOS-键盘通知
- iOS开发-键盘通知
- iOS键盘监察通知
- 【代码笔记】iOS-判断textField里面是否有空
- IOS开发 textField 键盘遮挡问题
- IOS中TextField点击取消键盘
- ios 键盘遮盖TextField的解决方法
- 直接插入排序算法-不设置哨兵版
- IntelliJ IDEA2017.1.4正式版gradle依赖总是报错问题之一
- 搜索引擎相关架构和技术点梳理
- ListPopupWindow,PopupMenu
- java与C语言跨平台原理
- 【代码笔记】iOS-只让textField使用键盘通知
- 一个简单的学生成绩管理系统
- 杭电problem1018-大数(阶乘的位数问题)
- Maximum Subarray
- JavaScript自定义对象
- 家具ARkit新玩法, 十二居或是未来购物模式先驱
- 什么是关键词堆砌?表现形式有哪些?对网站优化有什么影响?
- 关于background设置多个背景图片的问题
- 图片在wps中复制粘贴的问题