想实现的效果:

//

//  LHQsuggestionViewCtrl.m

//  A13 - 设置

//

//  Created by vic fan on 16/6/23.

//  Copyright © 2016年 李洪强. All rights reserved.

//

#import "LHQsuggestionViewCtrl.h"

#define ScreenWidth [UIScreen mainScreen].bounds.size.width

#define ScreenHeight [UIScreen mainScreen].bounds.size.height

@interface LHQsuggestionViewCtrl ()<UITextViewDelegate>

@property(nonatomic,strong)UILabel *label1;

@property(nonatomic,weak)UITextView *textView1;

@end

@implementation LHQsuggestionViewCtrl

- (void)viewDidLoad{

[super viewDidLoad];

self.title = @"意见反馈";

//  self.view.backgroundColor = [UIColor colorWithRed:239/255.0 green:239/255.0 blue:244/255.0 alpha:1];

self.view.backgroundColor = [UIColor whiteColor];

//----------------------设置带place

UITextView *textView = [[UITextView alloc] init];

self.textView1 = textView;

self.textView1.font = [UIFont systemFontOfSize:14];

self.textView1.frame =CGRectMake(20, 150,[UIScreen mainScreen].bounds.size.width -40, 200);

self.textView1.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;

self.textView1.layer.borderColor = [UIColor colorWithRed:239/255.0 green:239/255.0 blue:244/255.0 alpha:1].CGColor;

self.textView1.layer.masksToBounds = YES;

self.textView1.layer.borderWidth = 1;

self.textView1.backgroundColor = [UIColor whiteColor];

//    self.modalPresentationCapturesStatusBarAppearance = NO;

//    self.edgesForExtendedLayout = UIRectEdgeNone;

//    self.extendedLayoutIncludesOpaqueBars = NO;

[self.view addSubview:self.textView1];

self.textView1.hidden = NO;

self.textView1.delegate = self;

self.automaticallyAdjustsScrollViewInsets =NO;

//其次在UITextView上面覆盖个UILable,UILable设置为全局变量。

UILabel *label1 = [[UILabel alloc]init];

self.label1 = label1;

self.label1.frame =CGRectMake(3, 3, [UIScreen mainScreen].bounds.size.width -50, 20);

self.label1.text = @"请输入您的宝贵意见,建议,我们将不断完善";

self.label1.enabled = NO;//lable必须设置为不可用

self.label1.backgroundColor = [UIColor clearColor];

self.label1.font = [UIFont systemFontOfSize:14];

[self.textView1 addSubview:self.label1];

//----------------------------------------------------------

UILabel *topLabel = [[UILabel alloc]initWithFrame:CGRectMake(10, 80, 150, 30)];

topLabel.text = @"您的宝贵建议:";

[self.view addSubview:topLabel];

}

//  实现UITextView的代理

-(void)textViewDidChange:(UITextView *)textView

{

self.textView1.text = textView.text;

if (textView.text.length == 0) {

self.label1.text = @"请输入您的宝贵意见,建议,我们将不断完善";

}else{

self.label1.text = @"";

}

}

- (BOOL)textViewShouldBeginEditing:(UITextView *)textView{

self.label1.text = @"";

//  [self.label1 removeFromSuperview];

return YES;

}

- (BOOL)textViewShouldEndEditing:(UITextView *)textView{

self.label1.text = @"请输入您的宝贵意见,建议,我们将不断完善";

return YES;

}

- (void)btnClick{

NSLog(@"点击了提示");

}

- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{

[UIView animateWithDuration:0.8 animations:^{

[self.view endEditing:YES];

}];

}

@end

自定义textView的placeholder和边框的更多相关文章

  1. ios开发之自定义textView

    自定义textView,从理论上讲很简单,根据需求自定义,比如我在开发中的需求就是现实一个字数的限制以及根据输入的文字改变提示剩余字数,那么开始我的基本思路就是自定义一个View,而里面包含一个子控件 ...

  2. 自定义TextView 调用ttf格式字体

    自定义TextView 调用ttf格式字体 1.<strong>将ttf格式文件存放在assets/fonts/下</strong> 注:PC系统字体存放在C:\Windows ...

  3. [原创]Android秒杀倒计时自定义TextView

    自定义TextView控件TimeTextView代码: import android.content.Context; import android.content.res.TypedArray; ...

  4. 安卓自定义TextView实现自动滚动

    xml文件代码 <com.mobile.APITest.ScrollEditText android:id="@+id/statusEditText" android:lay ...

  5. Android开发学习笔记-自定义TextView属性模版

    如果项目中有很多个控件使用的是同一种样式,则为了方便,可以将样式设置到系统中去,这样使用的时候会方便很多. 下面是自定义样式模版的方法. 1.在style.xml文件中添加自己要设置的样式内容 < ...

  6. 自定义TextView带有各类.ttf字体的TextView

    最近项目遇到了将普通文字转化为带有字体样式的文字,这里就涉及到了.ttf文件,我上网百度了不少资料最终终于实现了,现在想想其实并不复杂 1,你需要下载一种.ttf字体文件,你可以从网上找到一种字体的. ...

  7. Android源码分析(十二)-----Android源码中如何自定义TextView实现滚动效果

    一:如何自定义TextView实现滚动效果 继承TextView基类 重写构造方法 修改isFocused()方法,获取焦点. /* * Copyright (C) 2015 The Android ...

  8. 练习,自定义TextView(1.1)

    重新自定义TextView是非常有趣的事情,跟着Android4高级编程,通过自定义TextView,来敲一下代码: 这个是那么的简单,自定义TextView,新建CustomTextView继承Te ...

  9. 自定义textview

    #import <UIKit/UIKit.h> @class FSTextView; typedef void(^FSTextViewHandler)(FSTextView *textVi ...

随机推荐

  1. Docker从12升级到17ce

    先卸载 yum remove docker* yum remove container-selinux--.el7.centos.x86_64 安装 sudo yum install -y yum-u ...

  2. ubuntu安装elasticSearch及插件

    原文地址:http://www.niu12.com/article/18 前提 1.安装好Java1.8以上环境并配置好JAVA_HOME(elasticsearch运行环境) 2.node环境6.5 ...

  3. window进入本地组策略编辑器和计算机管理界面

    win+R 进入运行窗口 输入gpedit.msc 进入本地组策略编辑器, 右键我的电脑,点击管理 进入计算机管理界面

  4. 3dsMAX 插件

    SDK C++ 对性能有要求 底层接口 MAXScript 上层接口 a few more function whick sdk does not afford MCG像蓝图一样的东西 http:// ...

  5. 关于判断语句中如:while not xx: 或者:if not xx: 的含义及用法解析

    关于判断语句中如:while not xx: 或者:if not xx: 的含义及用法解析 name='' while not name: name=raw_input(u'请输入姓名:') prin ...

  6. jQuery.toggleClass() 和detach()方法详解

    一.toggleClass()函数: toggleClass()函数用于切换当前jQuery对象所匹配的每一个元素上指定的css类名.所谓"切换",就是如果该元素上已存在指定的类名 ...

  7. tensorflow c++接口的编译安装与一些问题记录

    参考这篇文章安装,依次安装bazel,protocbuf,eigen3,然后下载tensorflow源码,编译c++ api,将编译结果拷贝到搜索路径 最后测试案例时遇到一些问题 (1)fatal e ...

  8. 关于json对象的删除

    摘自:http://xosadan.iteye.com/blog/1100383 关于json对象的删除 一个json对象在后台产生了,但是有些数据可能无效或者不合法,所以需要在前台作些例外处理,比如 ...

  9. 【Web】Javascript、Python、Django模板配合处理URL Encode

    1.JS function relaunch(id, service, submit) { var username = $("#id_username").text(); /* ...

  10. 转:让kindle更好的支持pdf

    http://vislab.bjmu.edu.cn/blog/hwangxin/2012/10/read-scanned-pdfs-with-kindlepdfviewer/