zoukankan      html  css  js  c++  java
  • 用UITextView模拟UITextField的placeHolder

    用UITextView模拟UITextField的placeHolder

    效果:

    源码:

    //
    //  ViewController.m
    //  TextView
    //
    //  Created by YouXianMing on 14/12/18.
    //  Copyright (c) 2014年 YouXianMing. All rights reserved.
    //
    
    #import "ViewController.h"
    
    static NSString *placeHolderStr = @"User Name";
    
    @interface ViewController ()<UITextViewDelegate>
    
    @property (nonatomic, strong) UITextView  *textView;
    @property (nonatomic, strong) UIButton    *button;
    
    @end
    
    @implementation ViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
        
        // 反应的按钮
        self.button = [[UIButton alloc] initWithFrame:self.view.bounds];
        [self.button addTarget:self
                        action:@selector(buttonEvent)
              forControlEvents:UIControlEventTouchUpInside];
        [self.view addSubview:self.button];
        
        // textView
        self.textView = [[UITextView alloc] initWithFrame:CGRectMake(0, 20, 320, 200)];
        self.textView.layer.borderWidth = 1.f;
        self.textView.layer.borderColor = [UIColor grayColor].CGColor;
        self.textView.delegate  = self;
        self.textView.text      = placeHolderStr;
        self.textView.font      = [UIFont systemFontOfSize:20.f];
        self.textView.textColor = [UIColor grayColor];
        [self.view addSubview:self.textView];
    }
    
    #pragma mark - 代理方法
    - (BOOL)textViewShouldBeginEditing:(UITextView *)textView {
        // 设置编辑状态文字颜色
        textView.textColor = [UIColor blackColor];
        
        // 如果文字为placeHolder文字
        if ([textView.text isEqualToString:placeHolderStr]) {
            textView.text      = @"";
        }
        
        return YES;
    }
    - (BOOL)textViewShouldEndEditing:(UITextView *)textView {
        
        // 如果长度为0,则显示placeHolder文字
        if (textView.text.length == 0) {
            textView.text = placeHolderStr;
            textView.textColor = [UIColor grayColor];
        }
        
        return YES;
    }
    
    /**
     *  反应的按钮
     */
    - (void)buttonEvent {
        [self.textView resignFirstResponder];
    }
    
    @end

    核心代码:

  • 相关阅读:
    研修班第四次课笔记
    形象革命——穿搭
    对管理者的几点要求
    全链路压测
    项目管理最忌的5件事,千万不要忽视!
    2018年计划小目标(9月)PMP
    NLP是什么
    (深度好文)重构CMDB,避免运维之耻
    《转》我们不得不面对的中年职场危机
    项目管理,让自己更从容
  • 原文地址:https://www.cnblogs.com/YouXianMing/p/4172066.html
Copyright © 2011-2022 走看看