ios TextField 不被键盘遮住
来源:互联网 发布:python pack 编辑:程序博客网 时间:2024/04/27 20:00
首先放一个scrollView窗口,将Scroll View视图占整个屏幕。
向Scroll View 添加TextField 控件。
首先,ViewController.h 代码如下;
#import <UIKit/UIKit.h>@interface ViewController : UIViewController<UITextFieldDelegate>{ BOOL keyboardVisible;}@property (weak,nonatomic) IBOutlet UIScrollView *scrollView;@property (weak,nonatomic) IBOutlet UITextField *textField;@end
ViewController.m 代码如下:
#import "ViewController.h"@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad { self.scrollView.contentSize = CGSizeMake(320,600); [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. self.textField.delegate = self; //[super viewDidLoad];}//页面加载前调用的方法,注册两个通知:一个是键盘弹出来的通知,另外一个是键盘隐藏的通知,不同的通知调用不同的方法进行处理-(void) viewWillAppear:(BOOL)animated{ //键盘弹起的通知 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardDidShow:) name:UIKeyboardDidShowNotification object:self.view.window]; //键盘隐藏的通知 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardDidHide:) name:UIKeyboardDidHideNotification object:nil];}-(BOOL)textFieldShouldReturn:(UITextField *)textFieldView{ [textFieldView resignFirstResponder]; return NO;}//收到键盘弹出事件 -(void)keyboardDidShow:(NSNotification *)notif{ if(keyboardVisible) { return; } NSDictionary * info = [notif userInfo]; NSValue * aValue = [info objectForKey:UIKeyboardFrameEndUserInfoKey]; CGSize keyboardSize = [aValue CGRectValue].size; CGRect viewFrame = self.scrollView.frame; viewFrame.size.height -= (keyboardSize.height); self.scrollView.frame = viewFrame; CGRect textFieldRect =[self.textField frame]; [self.scrollView scrollRectToVisible:textFieldRect animated:YES]; keyboardVisible = YES; }// 收到键盘隐藏事件-(void)keyboardDidHide:(NSNotification*)note{ NSDictionary * info = [note userInfo]; NSValue *aValue = [info objectForKey:UIKeyboardFrameEndUserInfoKey]; CGSize keyboardSize = [aValue CGRectValue].size; CGRect viewFrame = self.scrollView.frame; viewFrame.size.height += (keyboardSize.height); self.scrollView.frame = viewFrame; if(!keyboardVisible) { return; } keyboardVisible = NO; }//页面消失前取消通知-(void)viewWillDisappear:(BOOL)animated{ [[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardDidShowNotification object:nil]; [[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardDidHideNotification object:nil];}
0 0
- ios TextField 不被键盘遮住
- IOS 键盘遮住了TextField
- iOS解决TextField被键盘遮住的问题
- iOS开发 textField被键盘遮住的时候自动上移
- ios 键盘遮住输入框
- xcode iOS 模拟器 textField 鼠标点击后键盘不显示
- xcode iOS 模拟器 textField 鼠标点击后键盘不显示
- iOS textField 回收键盘
- textField 真机上键盘不弹出
- ios开发防止键盘遮住文本框
- ios开发防止键盘遮住文本框
- IOS TextField伴随键盘移动
- IOS中弹出键盘时避免键盘遮住输入框
- [IOS]textField被虚拟键盘挡住解决方法
- [IOS]textField被虚拟键盘挡住解决方法
- Iphone在ScrollView下点击TextField使文本筐不被键盘遮住
- Iphone在ScrollView下点击TextField使文本筐不被键盘遮住
- 动态监听键盘高度,并进行view的移动(防止遮住textField)
- HDU 5154 Harry and Magical Computer (有向图判是否有环)
- 【BestCoder Round #25】A(拓扑排序,找环)
- linux共享内存之mmap
- Storeboard中Pan手势对ImageView不起作用解决办法
- Android DrawerLayout抽屉效果的导航菜单实现
- ios TextField 不被键盘遮住
- 常用分页代码居中
- 软件工程第三次大作业
- 为什么写技术博客
- linux 字节截取命令之cut
- 设备驱动--定时、延时操作
- 最简单的基于DirectShow的示例:视频播放器
- 高级图形编程(基于opengl)5
- 最近看到的几个提供大数据分析服务以及机器学习API的公司