zoukankan      html  css  js  c++  java
  • iOS.UIKit.03.UITextField_UITextView

    一、案例介绍:包含UITextField和UITextView,键盘可以打开、关闭,如图01。

    图01图02图03

    二、案例步骤:

    1、选择Single View Application新建项目,取名cq.28.TextField和TextView,如图02。

    2、Main.storyboard如图03。

    3、CQ28ViewController.h代码

    》实现UITextFieldDelegate、UITextViewDelegate,控制软键盘的关闭

    #import <UIKit/UIKit.h>
    
    @interface CQ28ViewController : UIViewController<UITextFieldDelegate,UITextViewDelegate>
    
    @end

    4、CQ28ViewController.m代码

    》键盘打开通知,键盘关闭通知

    -(void) viewWillAppear:(BOOL)animated {
        
        //注册键盘出现通知
        [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector (keyboardDidShow:)
                                                     name: UIKeyboardDidShowNotification object:nil];
        //注册键盘隐藏通知
        [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector (keyboardDidHide:)
                                                     name: UIKeyboardDidHideNotification object:nil];
        [super viewWillAppear:animated];
    }
    
    
    -(void) viewWillDisappear:(BOOL)animated {
        //解除键盘出现通知
        [[NSNotificationCenter defaultCenter] removeObserver:self
                                                        name: UIKeyboardDidShowNotification object:nil];
        //解除键盘隐藏通知
        [[NSNotificationCenter defaultCenter] removeObserver:self
                                                        name: UIKeyboardDidHideNotification object:nil];
        
        [super viewWillDisappear:animated];
    }
    
    -(void) keyboardDidShow: (NSNotification *)notif {
        NSLog(@"键盘打开");
    }
    
    -(void) keyboardDidHide: (NSNotification *)notif {
        NSLog(@"键盘关闭");
    }

    》实现委托放弃第一响应者

    //通过委托来实现放弃第一响应者
    #pragma mark - UITextField Delegate Method
    - (BOOL)textFieldShouldReturn:(UITextField *)textField
    {
        [textField resignFirstResponder];
        return YES;
    }
    
    
    //通过委托来实现放弃第一响应者
    #pragma mark - UITextView Delegate  Method
    -(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
    {
        if([text isEqualToString:@"
    "]) {
            [textView resignFirstResponder];
            return NO;
        }
        return YES;
    }
  • 相关阅读:
    【非技术】谈谈业务6W+H
    WinForm二三事(三)Control.Invoke&Control.BeginInvoke
    企业应用架构模式读书笔记(一)
    WinForm二三事(四)界面布局(上)
    WinForm二三事(二)异步操作
    WinForm二三事(一)消息循环
    白话基础之虚拟存储器
    不清楚自己的位置,会走很多弯路
    WinForm二三事(一)补遗
    技术、业务、市场
  • 原文地址:https://www.cnblogs.com/cqchen/p/3764251.html
Copyright © 2011-2022 走看看