zoukankan      html  css  js  c++  java
  • 键盘的通知 使文本框跟随键盘移动

    一、前期工作  定义全局变量的文本框 和 分别宏定义屏幕的宽和高

    #define SCREEN_HEIGHT CGRectGetHeight([UIScreen mainScreen].bounds)
    #define SCREEN_WIDTH CGRectGetWidth([UIScreen mainScreen].bounds)
    
    @interface ViewController ()<UITextFieldDelegate>
    {
        UITextField *myTextFileld;
    }
    myTextFileld = [[UITextField alloc]initWithFrame:CGRectMake(0, SCREEN_HEIGHT-40, SCREEN_WIDTH,40 )];
        myTextFileld.placeholder = @"请输入内容";
        myTextFileld.delegate = self;
        myTextFileld.borderStyle = UITextBorderStyleRoundedRect;
        [self.view addSubview:myTextFileld];

    二 、 分别给键盘的两个状态增加通知观察者

     [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(KeyBordAction:) name:UIKeyboardWillShowNotification object:nil];
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(KeyBordAction:) name:UIKeyboardWillHideNotification object:nil];

    调用的方法

    - (void)KeyBordAction:(NSNotification *)not{
        NSDictionary *info = not.userInfo;
        CGRect frame = [info[UIKeyboardFrameEndUserInfoKey] CGRectValue];
        CGFloat y = CGRectGetMinY(frame);
        myTextFileld.frame = CGRectMake(0, y-40, SCREEN_WIDTH, 40);
    }

    文本框的代理方法

    - (BOOL)textFieldShouldReturn:(UITextField *)textField{
        [textField resignFirstResponder];
        return YES;
    }
  • 相关阅读:
    Title提示样式修改
    列表查询数据交互简写形式
    cookie 一次性弹窗
    postman 使用 设置
    idea window mac安装
    在线校验格式化工具
    bootstrap下拉列表多选组件
    kaiguan
    5个数组Array方法: indexOf、filter、forEach、map、reduce使用实例
    对js里bind函数的理解
  • 原文地址:https://www.cnblogs.com/ios-wanglong/p/5212899.html
Copyright © 2011-2022 走看看