您的位置:首页 > 其它

在textView中输入时避免键盘的遮挡

2013-08-09 21:28 399 查看
很多时候我们都在为键盘遮挡了原本就不大的屏幕时而烦恼,特别是当用户处于编辑状态时,键盘下面的内容就看不见了,用户只能处于盲打状态了。现在有一种简单的解决办法,基本思路就是,添加通知。一直监听键盘事件,在键盘遮挡时,将编辑器上移键盘的高度,键盘消失时,编辑区回复原来位置,ok,来两段代码吧

各位亲
有时间可以去看看我的 “金骏家居淘宝店” http://jinjun1688.taobao.com/shop/view_shop.htm?tracelog=twddp 买时说明在我的博客看到有优惠哦
还有意外礼品赠送 真正的程序员淘宝店

[cpp]

- (void)viewDidLoad

{

[super viewDidLoad];

// Do any additional setup after loading the view, typically from a nib.

self.textView=[[UITextView alloc]initWithFrame:self.view.frame];

self.textView.text=@"请输入文字";

[self.view addSubview:self.textView];

}

- (void)didReceiveMemoryWarning

{

[super didReceiveMemoryWarning];

// Dispose of any resources that can be recreated.

}

- (void)viewWillAppear:(BOOL)animated

{

//注册通知,监听键盘出现

[[NSNotificationCenter defaultCenter]addObserver:self

selector:@selector(handleKeyboardDidShow:)

name:UIKeyboardDidShowNotification

object:nil];

//注册通知,监听键盘消失事件

[[NSNotificationCenter defaultCenter]addObserver:self

selector:@selector(handleKeyboardDidHidden)

name:UIKeyboardDidHideNotification

object:nil];

[super viewWillAppear:YES];

}

//监听事件

- (void)handleKeyboardDidShow:(NSNotification*)paramNotification

{

//获取键盘高度

NSValue *keyboardRectAsObject=[[paramNotification userInfo]objectForKey:UIKeyboardFrameEndUserInfoKey];

CGRect keyboardRect;

[keyboardRectAsObject getValue:&keyboardRect];

self.textView.contentInset=UIEdgeInsetsMake(0, 0,keyboardRect.size.height, 0);

}

- (void)handleKeyboardDidHidden

{

self.textView.contentInset=UIEdgeInsetsZero;

}

- (void)viewDidDisappear:(BOOL)animated

{

[[NSNotificationCenter defaultCenter] removeObserver:self];

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: