Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >iOS textView 的 placeholder、字数限制、行数限制最优雅的解决方式

iOS textView 的 placeholder、字数限制、行数限制最优雅的解决方式

作者头像
Raindew
发布于 2018-06-14 06:34:24
发布于 2018-06-14 06:34:24
3.4K00
代码可运行
举报
运行总次数:0
代码可运行
更新: 已新增Swift版本!
更新 :约束适配
更新 :新增占位符颜色,字体设置 2017-12-5

如上图。简洁、常用。之前我接触过很多以封装类实现这个功能的三方,用起来需要创建别人的三方等等,总之不是那么舒服,今天自己特意为此用runtime写了一个分类。来实现这两个功能(可分开实现)。 用法:导入分类头文件!

OC
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 //    textView.font = [UIFont systemFontOfSize:17];
//    textView.text = @"请�写在自定义属性前面,如果长度大于limitLength设置长度会被自动截断。";
  textView.placeholder = @"欢迎";
  textView.limitLength = @20;
  textView.placeholdColor = [UIColor redColor];
  textView.limitPlaceColor = [UIColor redColor];
  textView.placeholdFont = [UIFont systemFontOfSize:17];
  textView.limitPlaceFont = [UIFont systemFontOfSize:17];
  //    textView.limitLines = @4;//行数限制优先级低于字数限制
  [self.view addSubview:textView];
Swift
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
        let textview = UITextView(frame: CGRect(x: 100, y: 100, width: 200, height: 150))
//        textview.text = "如果你想对textView.text直接赋值。请在设置属性之前进行,否则影响计算"
        textview.placeholder = "喜欢请Star"
        textview.limitLength = 20
        textview.placeholdColor = .red
        textview.limitLabelColor = .red
        textview.placeholdFont = UIFont.boldSystemFont(ofSize: 17)
        textview.limitLabelFont = UIFont.boldSystemFont(ofSize: 17)
//        textview.limitLines = 4;
        textview.center = self.view.center
        view.addSubview(textview)

对,就是这么简单。 如你所见,每句代码会自动添加一个标签。占位符标签会根据你的占位符字数自动计算高度与宽度,字数限制标签自动计算位置在右下角,记录当前输入字数与限制字数。 iOS技术交流群:511860085 成堆的技术视频福利,欢迎加入! 喜欢请Star 代码传送门

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017.02.16 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
史上最全的iOS之UITextView实现placeHolder占位文字的N种方法
iOS开发中,UITextField和UITextView是最常用的文本接受类和文本展示类的控件。UITextField和UITextView都输入文本,也都可以监听文本的改变。不同的是,UITextField继承自UIControl这个抽象类。UITextView继承自UIScrollView这个实体类。这就导致了UITextView可以多行展示内容,并且还可以像UIScrollView一样滚动。而UITextField只能单独的展示一行内容。从这个角度,UITextView在功能上是优于UITextField的。 但是,众所周知,UITextField中有一个placeholder属性,可以设置UITextField的占位文字,起到提示用户输入相关信息的作用。可是,UITextView就没那么幸运了,apple没有给UITextView提供一个类似于placeholder这样的属性来供开发者使用。而开发中,我们经常会遇到既要占位文字,又要可以多行展示并且可以滚动的控件,单纯的UITextField或者UITextView都不能满足这种产品上的需求。比如,现在市面上的app大多都有一个用户反馈的入口,如下图(一)所示。下面我就把自己能够想到的方法汇总一下,让更多的开发者知道,原来有这么多方法可以实现UITextView的占位文字。
VV木公子
2018/06/05
10.8K0
自定义UITextView
自定义UITextView,带有placeholeder,可以设置placeholeder文字的大小和颜色。
hrscy
2018/08/30
6180
自定义UITextView
Swift TextView Placeholder封装
github地址:https://github.com/RainManGO/PlaceholderTextView
星宇大前端
2019/01/15
1.5K0
iOS开发中利用runtime设置UITextView的默认文字
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/75258532
用户1451823
2018/09/13
7170
[iOS] 小问题记录
iOS 往数据库里写保存文件路径的时候,不要写全路径,因为软件更新或者重新安装沙盒路径会变
wOw
2018/09/18
3.5K0
iOS18适配指南之UITextView
YungFan
2024/09/09
4760
SwiftUI案例:尺寸自适应文本框
SwiftUI 并未提供可自适应高度的文本框组件,为实现自适应高度则需要继承 UITextField 进而自定义封装一个弹性的文本框组件。 通过更新函数,从该弹性文本框中获得文本内容的高度并将其赋值给组件的高度,即可实现“弹性”伸缩的效果。
DioxideCN
2022/08/05
3.5K0
SwiftUI案例:尺寸自适应文本框
富文本AttributedString的总结
AttributedString可以分为NSAttributedString和NSMutableAttributedString两种。 在使用中通过将AttributedString赋值给控件的 attributedText 属性来添加文字样式。 可设置的控件有UILabel、UITextField和UITextView。
码客说
2019/10/22
3.6K0
自学Swift之路(一)UI入手之基本控件
本系列文章都是以有OC基础来写的,所以注释不会写太多,对基础不够了解的同学可能不太适合,另外本系列文章不是以教程式的形式来写,是记录学习过程的,所以不会有多少讲解 第一步:创建工程 A62A869C-
清墨
2018/05/07
3.1K0
自学Swift之路(一)UI入手之基本控件
点亮你 App 的 5 个 iOS 库
TVButton 可在 UIButton 控件上重新创建类似于在 Apple TV 上看到的美丽视差效果。长按或拖动即可触发效果。要使用视差效果,您至少需要两/三层具有相同尺寸的图像。以下是一个具体实例:
用户2932962
2019/12/11
7230
demo2动态加载显示商品详情页
/* 要求:实现 头像+昵称(多余7位用...)           商品图片(根据商品实际的图片的大小进行动态的展示。按照一定的比例进行展示。)           产品简介。产品简介在商品图片的下边。并跟随商品图片的大小进行动态的收缩或者是展示。 考虑:实现功能之后,是否要做占位图 进行图片的占位??! */ 难点:动态的加载。 实现:首先创建ui 然后请求数据 最后在主线程进行赋值 并且刷新ui 即可实现。 // // ACShowDetailVC.m // demo2详情动态加载展开
用户1219438
2018/02/01
8500
demo2动态加载显示商品详情页
根据后台返回的UIButton title动态改变UIButton宽度
废话不多说代码见真章!!! #import <UIKit/UIKit.h> @interface UIButton (MutableTitle) /** * 根据添加的title 改变 button 的长度 * * @param text */ - (void)setMutableTitleWithString:(NSString *)text textFont:(UIFont *)textFont forState:(UIControlState)UIControlState; @end
developerbfl
2018/06/05
1.4K0
1.注册或登录页面设计:UILabel,UIButton,UITextField
学习iOS开发已经有一段时日了,之前一直没有系统的对iOS开发的相关知识进行归纳总结,导致很多知识点云里雾里在脑子里形不成iOS开发的思想,现将自己在学习过程中遇到的一些知识进行总结,希望能对iOS初学者能有一定的帮助。最初学iOS的时候苦于没有大神指点,全靠自己一点点摸索,确实走了很多弯路,不希望还有小伙伴跟我一样走过多的弯路。   由于本人只是从去年11月份才开始玩iOS(附上自己的学习路线,如下图),受限于能力,难免有一些不完善或不恰当的地方,希望大神们多多见谅,勿拍砖,有不足或需要完善的地方也希望
猿人谷
2018/01/17
2.6K0
1.注册或登录页面设计:UILabel,UIButton,UITextField
iOS16适配指南之UIFindInteraction
iOS 16 中新增的查找交互,用于文本内容的查找与替换。 它会弹出一个查找面板,输入需要搜索的关键字即可进行查找与替换操作。 UITextView、WKWebView 与 PDFView 已经默认支持,但需要将其isFindInteractionEnabled属性设置为true。 // Created by YungFan import UIKit class ViewController: UIViewController { lazy var textView: UITextView =
YungFan
2022/08/23
9100
iOS自动布局框架之Masonry
目前iOS开发中大多数页面都已经开始使用Interface Builder的方式进行UI开发了,但是在一些变化比较复杂的页面,还是需要通过代码来进行UI开发的。而且有很多比较老的项目,本身就还在采用纯代码的方式进行开发。而现在iPhone和iPad屏幕尺寸越来越多,虽然开发者只需要根据屏幕点进行开发,而不需要基于像素点进行UI开发。但如果在项目中根据不同屏幕尺寸进行各种判断,写死坐标的话,这样开发起来是很吃力的。所以一般用纯代码开发UI的话,一般都是配合一些自动化布局的框架进行屏幕适配。苹果为我们提供的适配
xiangzhihong
2018/01/26
2.2K0
iOS_自定义UITabBarController标签视图控制器
首先创建一个类,继承自UItabBarController 然后在.m文件中:
mikimo
2022/07/20
6060
ios_UITextField-修改占位文字和光标的颜色,大小
一.设置占位文字的颜色 方法一:利用富文本 /** 手机号输入框 */ @property (weak, nonatomic) IBOutlet UITextField *phoneTextField; - (void)viewDidLoad { [super viewDidLoad]; // 创建一个富文本对象 NSMutableDictionary *attributes = [NSMutableDictionary dictionary]; // 设置富文本对象的颜
用户1219438
2018/12/26
1.2K0
码一个高颜值统计图
在项目中遇到数据展示需求时,往往会通过,以列表的形式展示出数据或者以表格的形式展示。但是并不能直观的观察数据的变化,如果通过图表的形式来展示,就可以更快捷的获取到数据变化情况。
网罗开发
2021/01/29
1.9K0
码一个高颜值统计图
iOS导航栏使用总结
目录: 一、设置导航栏样式 二、解决自定义导航栏返回按钮后侧滑不可用问题 三、隐藏导航栏底部的分割线 四、导航栏引起的布局问题 相关文章:iOS状态栏的使用总结 一、设置导航栏样式 设置导航栏的样式可分为全局设置与局部设置; 1.全局设置 全局设置一般的都是在AppDelegate中设置,这样整个app都会生效,相关的代码与效果图如下: //1.设置导航栏背景颜色 [[UINavigationBar appearance] setBarTintColor:[UIColor orangeColor]];
梧雨北辰
2018/07/06
3.5K0
图文混排
是基于 iOS 3.2+ 和 OSX 10.5+ 的一种能够对文本格式和文本布局进行精细控制的文本引擎。 它良好的结合了 UIKit 和 Core Graphics/Quartz: UIKit 的 UILabel 允许你通过在 IB 中简单的拖曳添加文本,但你不能改变文本的颜色和其中的单词。 Core Graphics/Quartz几乎允许你做任何系统允许的事情,但你需要为每个字形计算位置,并画在屏幕上。 Core Text 正结合了这两者!你可以完全控制位置、布局、类似文本大小和颜色这样的属性,而 Core Text 将帮你完善其它的东西——类似文本换行、字体呈现等等。
Helloted
2022/06/06
1.7K0
图文混排
相关推荐
史上最全的iOS之UITextView实现placeHolder占位文字的N种方法
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档