一、设置textView的行间距

1.如果只是静态显示textView的内容为设置的行间距,执行如下代码:

//textview 改变字体的行间距

NSMutableParagraphStyle *paragraphStyle =[[NSMutableParagraphStyle alloc] init];

paragraphStyle.lineSpacing= 10;//字体的行间距

NSDictionary*attributes =@{

NSFontAttributeName:[UIFont systemFontOfSize:15],

NSParagraphStyleAttributeName:paragraphStyle

};

textView.attributedText= [[NSAttributedString alloc] initWithString:@"输入你的内容"attributes:attributes];

2.如果是想在输入内容的时候就按照设置的行间距进行动态改变,那就需要将上面代码放到textView的delegate方法里

-(void)textViewDidChange:(UITextView *)textView

{//textview 改变字体的行间距NSMutableParagraphStyle*paragraphStyle =[[NSMutableParagraphStyle alloc] init];

paragraphStyle.lineSpacing= 20;//字体的行间距NSDictionary*attributes =@{

NSFontAttributeName:[UIFont systemFontOfSize:15],

NSParagraphStyleAttributeName:paragraphStyle

};

textView.attributedText=[[NSAttributedString alloc] initWithString:textView.text attributes:attributes];

}

一、设置textView的placeholder

UITextView上如何加上类似于UITextField的placeholder呢,其实在UITextView上加上一个UILabel或者UITextView,如果用UILable的话,会出现一个问题就是当placeholder的文字过长导致换行的时候就会出现问题,而用UITextView则可以有效避免此问题。

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text

{if (![text isEqualToString:@""])

{

_placeholderLabel.hidden=YES;

}if ([text isEqualToString:@""] && range.location == 0 && range.length == 1)

{

_placeholderLabel.hidden=NO;

}returnYES;

}

说明如下:

(1) _placeholderLabel 是加在UITextView后面的UITextView,_placeholderLabel要保证和真正的输入框的设置一样,字体设置成浅灰色,然后[_placeholderLabel setEditable:NO];真正的输入框要设置背景色透明,保证能看到底部的_placeholderLabel。

(2) [text isEqualToString:@""] 表示输入的是退格键

(3) range.location == 0 && range.length == 1 表示输入的是第一个字符

ios textview间距_iOS开发之UITextView,设置textView的行间距及placeholder相关推荐

  1. iOS开发之UITextView设置行间距

    设置UITextView的行间距有多种方法 一.设置静态textview行间距 UITextView不需要输入直接显示非常简单 UITextView *textView = [[UITextView ...

  2. ios safari 模拟器_iOS开发之Safari调试WebView页面

    在iOS开发过程中,难免会加入html5页面来实现文章详情等等类似功能. 我们都知道火狐等PC浏览器有类似firebug,审查元素等工具来调试网页样式与脚本,查看请求参数与请求头等等. 在iOS开发中 ...

  3. ios即时通讯客户端开发之-mac上搭建openfire服务器

    CHENYILONG Blog ios即时通讯客户端开发之-mac上搭建openfire服务器 转自:月光的尽头 ios即时通讯客户端开发之-mac上搭建openfire服务器 一.下载并安装open ...

  4. ios textview间距_iOS之UITextView设置行间距

    设置UITextView的行间距有多种方法 一.设置静态textview行间距 UITextView不需要输入直接显示非常简单 UITextView *textView = [[UITextView ...

  5. tableview插入刷新_iOS开发之UITableView与UISearchController实现搜索及上拉加载,下拉刷新实例代码...

    废话不多说了,直接给大家贴代码了. 具体代码如下所示: #import "ViewController.h" #import "TuanGouModel.h" ...

  6. AndroidStudio_安卓原生开发_显示不开的时候设置TextView文字横向滚动---Android原生开发工作笔记142

    设置横向滚动首先要在layout的xml文件中先给TextView加入: <TextView ... android:ellipsize="marquee" android: ...

  7. ios textview间距_iOS 设置TextView控件内容行间距

    - (BOOL)textViewShouldBeginEditing:(UITextView *)textView { if (textView.text.length < 1) { textV ...

  8. ios 不被遮挡 阴影_IOS开发之Bug--iOS7View被导航栏遮挡问题的解决

    在实际开发中,遇到在UITextView的frame等于当前控制器的View的frame的情况下,然后运行的时候,发现控制器的Frame的高度y值会从导航条的位置64变化到0. 导致UITextVie ...

  9. Android开发之AlertDialog设置左右边距的间接办法

    老套路看未设置边距的: 再看下设置边距的 效果非常明显了吧,思路将AlertDialog的背景色设置为透明,然后在xml布局中在外面再套一层空布局,在第二层布局中添加drawable边框就可以了 再看 ...

最新文章

  1. 软件架构自学笔记-- 畅途亿级业务日志系统演变过程
  2. java可以使用c语言中的输入,c语言中的scanf在java中应该怎么表达,Scanner类。
  3. CommandBehavior.CloseConnection的使用
  4. 今天的中巴等各式车子的企业即时通讯
  5. 何恺明组《Designing Network Design Spaces》的整体解读(一篇更比六篇强)
  6. 小白怎么入门自由职业?
  7. 如何让你的ASO优化效果提升10倍?
  8. 51nod-1135:原根
  9. 数理统计-随机变量的数字特征:期望、方差、协方差、矩、协方差矩阵
  10. 【手写数字识别】基于matlab GUI BP神经网络手写数字识别系统【含Matlab源码 1639期】
  11. C++ Web编程实战
  12. NETCDF C and FORTRAN 4.2 安装笔记
  13. 202.Wex5开发环境的安装与基本使用 2019.08.29
  14. 2014年市场需求排名前10的编程语言 - 生命的延续是 BI
  15. 清洁机器人--屏幕显示LCD方案接口说明概述
  16. 仿写天猫tmall首页
  17. C语言大数阶乘取余,python中math模块常用函数介绍 取模(取余)取绝对值 求阶乘 求最大公约数最小公倍数 取对数 取根号 取幂(取次方) 取整函数 三角函数与反三角函数...
  18. Spring Data JPA 原理与实战第二天 掌握Repoitory和DQM
  19. 四川师范大学人文地理(7-13章)95分版本提纲
  20. 安全防御(二)--- 防火墙域间双向NAT、域内双向NAT、基于VRRP的双机热备

热门文章

  1. 机器学习入门(三):神经网络起手式
  2. Tensorflow2.0实战之Auto-Encoder
  3. springboot14 整合JDBC
  4. gmm中隐变量是什么的_机器学习-隐变量模型和期望最大算法
  5. javaweb开发后端常用技术_Java Web开发后端常用技术汇总
  6. sql加上唯一索引后批量插入_MySQL批量插入遇上唯一索引避免方法
  7. 程序异常exitcode非0_ARM寄存器分析以及异常处理方法
  8. 英雄多少钱steam_Steam农历新年特卖:越来越火热的中国单机游戏市场 | 游戏干线...
  9. android 分包粘包_Android Socket 发送与接收数据问题处理: 发送后的数据接收到总是粘包...
  10. python函数和代码复用思维导图_Python语言程序---代码复用与函数递归(二)