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;
    }
  • 相关阅读:
    Python-os
    Python-字典Dict
    Linux下使用Apache搭建Web网站服务器
    Linux中FTP安装与配置
    第16章 广域网
    第15章 IPv6
    第14章 思科无线技术
    第13章 网络地址转换NAT
    第12章 安全
    第11章 虚拟局域网
  • 原文地址:https://www.cnblogs.com/ios-wanglong/p/5212899.html
Copyright © 2011-2022 走看看