博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UITextView 与 keyboard 处理
阅读量:6246 次
发布时间:2019-06-22

本文共 2282 字,大约阅读时间需要 7 分钟。

hot3.png

通过向 NSNotificationCenter 注册观察者监听键盘事件,根据键盘状态,从而动态调整 UITextView的 edgeInsets

#import "ViewController.h"@interface ViewController ()@property (nonatomic, strong) UITextView *myTextView;@end@implementation ViewController/* 1 *///- (void)viewDidLoad{//    [super viewDidLoad];//    //    self.myTextView = [[UITextView alloc] initWithFrame:self.view.bounds];//    self.myTextView.text = @"Some text here...";//    self.myTextView.contentInset = UIEdgeInsetsMake(10.0f, 0.0f, 0.0f, 0.0f);//    self.myTextView.font = [UIFont systemFontOfSize:16.0f];//    [self.view addSubview:self.myTextView];//    //}    /* 2 */- (void) handleKeyboardDidShow:(NSNotification *)paramNotification{        /* Get the frame of the keyboard */    NSValue *keyboardRectAsObject =    [[paramNotification userInfo]     objectForKey:UIKeyboardFrameEndUserInfoKey];        /* Place it in a CGRect */    CGRect keyboardRect = CGRectZero;        [keyboardRectAsObject getValue:&keyboardRect];        /* Give a bottom margin to our text view that makes it     reach to the top of the keyboard */    self.myTextView.contentInset =    UIEdgeInsetsMake(0.0f,                     0.0f,                     keyboardRect.size.height,                     0.0f);}    - (void) handleKeyboardWillHide:(NSNotification *)paramNotification{    /* Make the text view as big as the whole view again */    self.myTextView.contentInset = UIEdgeInsetsZero;}    - (void) viewWillAppear:(BOOL)paramAnimated{    [super viewWillAppear:paramAnimated];        [[NSNotificationCenter defaultCenter]     addObserver:self     selector:@selector(handleKeyboardDidShow:)     name:UIKeyboardDidShowNotification     object:nil];        [[NSNotificationCenter defaultCenter]     addObserver:self     selector:@selector(handleKeyboardWillHide:)     name:UIKeyboardWillHideNotification     object:nil];        self.myTextView = [[UITextView alloc] initWithFrame:self.view.bounds];    self.myTextView.text = @"Some text here...";    self.myTextView.font = [UIFont systemFontOfSize:16.0f];    [self.view addSubview:self.myTextView];    }    - (void) viewWillDisappear:(BOOL)paramAnimated{    [super viewWillDisappear:paramAnimated];        [[NSNotificationCenter defaultCenter] removeObserver:self];}@end

转载于:https://my.oschina.net/u/255456/blog/423266

你可能感兴趣的文章
通过MySQL自动同步刷新Redis
查看>>
vuex简单示例
查看>>
根据数据库结构生成RzCheckTree
查看>>
hihocoder [Offer收割]编程练习赛8 矩形计数
查看>>
汇编实验九
查看>>
哈夫曼编码
查看>>
go语言学习之闭包函数
查看>>
javax.servlet.http.HttpServletRequest; 不存在
查看>>
类型自动转换规则
查看>>
kvm-控制台登陆配置
查看>>
SpringAOP
查看>>
有赞MySQL自动化运维之路—ZanDB
查看>>
String与常量池(JDK1.8)
查看>>
lightoj 1031(dp)
查看>>
SQL Server转sqlite数据库
查看>>
python print和strip
查看>>
2016学年第一学期软件工程第二次作业
查看>>
Powershell检查邮件队列设置阈值,通过html形式进行邮件告警
查看>>
痞子衡嵌入式:恩智浦i.MXRT系列微控制器量产神器RT-Flash用户指南
查看>>
PHP学习笔记1
查看>>