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

    核心代码:

  • 相关阅读:
    大约 C++ 几个方面分析--overload, override, overwrite, rewrite
    Catalan数总结
    JAVA该队列中的数组,圆阵队列,链队列
    hdu4770:Lights Against Dudely(回溯 + 修剪)
    Birt
    Activity
    简单实现的Servlet文件上传,并显示
    阿里云centos 6.5 32位安装可视化界面的方法
    cannot mount database in EXCLUSIVE mode
    ORA-00845: MEMORY_TARGET not supported on this system
  • 原文地址:https://www.cnblogs.com/YouXianMing/p/4172066.html
Copyright © 2011-2022 走看看