自定义textView的placeholder和边框
想实现的效果:



//
// 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和边框的更多相关文章
- ios开发之自定义textView
自定义textView,从理论上讲很简单,根据需求自定义,比如我在开发中的需求就是现实一个字数的限制以及根据输入的文字改变提示剩余字数,那么开始我的基本思路就是自定义一个View,而里面包含一个子控件 ...
- 自定义TextView 调用ttf格式字体
自定义TextView 调用ttf格式字体 1.<strong>将ttf格式文件存放在assets/fonts/下</strong> 注:PC系统字体存放在C:\Windows ...
- [原创]Android秒杀倒计时自定义TextView
自定义TextView控件TimeTextView代码: import android.content.Context; import android.content.res.TypedArray; ...
- 安卓自定义TextView实现自动滚动
xml文件代码 <com.mobile.APITest.ScrollEditText android:id="@+id/statusEditText" android:lay ...
- Android开发学习笔记-自定义TextView属性模版
如果项目中有很多个控件使用的是同一种样式,则为了方便,可以将样式设置到系统中去,这样使用的时候会方便很多. 下面是自定义样式模版的方法. 1.在style.xml文件中添加自己要设置的样式内容 < ...
- 自定义TextView带有各类.ttf字体的TextView
最近项目遇到了将普通文字转化为带有字体样式的文字,这里就涉及到了.ttf文件,我上网百度了不少资料最终终于实现了,现在想想其实并不复杂 1,你需要下载一种.ttf字体文件,你可以从网上找到一种字体的. ...
- Android源码分析(十二)-----Android源码中如何自定义TextView实现滚动效果
一:如何自定义TextView实现滚动效果 继承TextView基类 重写构造方法 修改isFocused()方法,获取焦点. /* * Copyright (C) 2015 The Android ...
- 练习,自定义TextView(1.1)
重新自定义TextView是非常有趣的事情,跟着Android4高级编程,通过自定义TextView,来敲一下代码: 这个是那么的简单,自定义TextView,新建CustomTextView继承Te ...
- 自定义textview
#import <UIKit/UIKit.h> @class FSTextView; typedef void(^FSTextViewHandler)(FSTextView *textVi ...
随机推荐
- Spring Dataflow批处理框架在OCP上的部署
详细参考 https://donovanmuller.blog/spring-cloud-dataflow-server-openshift/docs/1.2.1.RELEASE/reference/ ...
- [转]使用SSIS创建同步数据库数据任务
本文转自:http://www.cnblogs.com/heqichang/archive/2012/09/19/2693214.html SSIS(SQL Server Integration Se ...
- Git系列二之数据管理
1.Git基本管理 git常用的基本操作 1.1提交数据 我们可以简单的把工作目录理解成是一个被Git服务程序管理的目录,Git会时刻的追踪目录内文件的改动,另外在安装好了Git服务程序后,默认就会创 ...
- unity quaternion vector
做脚印呢 做了曲面细分和decal两种 先用正交camera生成 高度图 采样uv由pos 从world到camera space生成 unity对tessellation的支持限制还是比较大的 只能 ...
- Vue使用中遇到问题汇总(一)32个
1.安装一些需要编译的包:提示没有安装python.build失败等 因为一些 npm 的包安装需要编译的环境,mac 和 linux 都还好,大多都齐全 .window 用户依赖 visual st ...
- Java笔记13:统计文件中每个字符出现的次数
一.代码实现 import java.io.*; import java.util.*; /** 功能:统计文件中每个字符出现的次数 思路: 1.定义字符读取(缓冲)流 2.循环读取文件里的字符,用一 ...
- Fireworks层与蒙版的概念和用法
添加热点也是可以嵌套的 切片工具将自动保存在网页图层,并且可以导出为图像 组合为蒙版就是让一部分图形显示的填充为一幅图片的东西,删除蒙版即可将其转换为一个普通的图层,否则还可以移动位置
- WCF 之 概述
WCF全称是Windows Communication Foundation,它是.NET3.0的重要组成部分,用来解决Windows下的一些通信方面的问题.WCF是Microsoft平台上的SOA架 ...
- vue - utils for extract-text-webpack-plugin
描述:将包或包中的文本提取到单独的文件中, 点击查看官网详情: https://www.npmjs.com/package/extract-text-webpack-plugin
- Direcshow中视频捕捉和參数设置报告
Direcshow中视频捕捉和參数设置报告 1. 关于视频捕捉(About Video Capture in Dshow) 1视频捕捉Graph的构建 一个能够捕捉音频或者视频的graph图 ...