码迷,mamicode.com
首页 > 其他好文 > 详细

用UITextView模拟UITextField的placeHolder

时间:2014-12-18 23:34:56      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   ar   io   color   os   sp   for   

用UITextView模拟UITextField的placeHolder

bubuko.com,布布扣

效果:

bubuko.com,布布扣

源码:

//
//  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

核心代码:

bubuko.com,布布扣

 

用UITextView模拟UITextField的placeHolder

标签:style   blog   http   ar   io   color   os   sp   for   

原文地址:http://www.cnblogs.com/YouXianMing/p/4172066.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!