韦德国际1946英国 > 计算机网络 > 伟德国际19462211:键盘遮挡输入框的问题

原标题:伟德国际19462211:键盘遮挡输入框的问题

浏览次数:113 时间:2019-11-24

键盘遮挡输入框的题目,键盘遮挡输入框

伟德国际19462211,iOS开垦之“键盘遮挡输入框的解决办法”之意气风发-----键盘文告前边管理这种难点,总是在接触输入框编辑事件键盘弹出的时候,将如今的View全部发展移动,停止编辑又完全向下移,耗费时间耗力成效低。

在互连网看了应用键盘公告的章程非凡便利,所以写了个demo供初读书人参谋!

 

1.在ViewController.m文件宣称

#import "ViewController.h"

@interface ViewController ()<UITableViewDelegate,UITableViewDataSource,UITextFieldDelegate>
@property(nonatomic,strong)UITableView *tableView;//自定义表格TableView
@end

@implementation ViewController

2.开头化及增加通报观望者

 1 - (void)viewDidLoad {
 2     [super viewDidLoad]; 4     self.tableView = [[UITableView alloc] initWithFrame:[UIScreen mainScreen].bounds style:UITableViewStylePlain];
 5     self.tableView.delegate = self;
 6     self.tableView.dataSource  = self;
 7     [self.view addSubview:self.tableView];
 8     
 9     //键盘将要显示时候的通知
10     [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(boardWillShow:) name:UIKeyboardWillShowNotification object:nil];
11      //键盘将要结束时候的通知
12     [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(boardDidHide:) name:UIKeyboardDidHideNotification object:nil];
13 }

3.贯彻文告的响应措施

 1 -(void)boardWillShow:(NSNotification *)sender{
 2     //获得键盘的尺寸
 3     CGRect keyBoardRect=[sender.userInfo[UIKeyboardFrameEndUserInfoKey] CGRectValue];                           
 4     //当键盘将要显示时,将tableView的下边距增跟改为键盘的高度
 5     self.tableView.contentInset = UIEdgeInsetsMake(0, 0, keyBoardRect.size.height, 0);
 6 }
 7 
 8 -(void)boardDidHide:(NSNotification *)sender{
 9     //当键盘将要消失时,边距还原初始状态
10     self.tableView.contentInset = UIEdgeInsetsZero;
11 }

4.UITextField的代总管件(点击键盘中的return按键,隐蔽键盘卡塔尔

1 -(BOOL)textFieldShouldReturn:(UITextField *)textField{
2     //取消当前输入框的第一响应者
3      [textField resignFirstResponder];
4     return YES;
5 }

5.tableView的代办方法

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
    return 15;
}

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    static NSString *ider = @"cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:ider];
    if (!cell) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:ider];
    }

    UITextField *TF = [[UITextField alloc] initWithFrame:CGRectMake(100, 5, 150, 20)];
    TF.placeholder = @"请输入";
    TF.delegate =self; //文本框添加代理
    [cell.contentView addSubview:TF];
    cell.textLabel.text = @"测试";

    return cell;
}
@end

6.结束!

iOS开荒之键盘遮挡输入框的解决办法之风华正茂 -----键盘布告此前管理这种难题,总是在接触输...

本文由韦德国际1946英国发布于计算机网络,转载请注明出处:伟德国际19462211:键盘遮挡输入框的问题

关键词:

上一篇:Win10怎么升级到1709秋季创意者更新版,win10如何升

下一篇:没有了