首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

史上最全iOS之UITextView实现placeHolder占位文字N种方法

前言 iOS开发中,UITextField和UITextView是最常用文本接受类和文本展示类控件。UITextField和UITextView都输入文本,也都可以监听文本改变。...子控件,作为placeholder 3.在文本改变代理方法里面显示/隐藏UILabel 特点:该方法同样也可以实现类似于placeholder功能。...相比较方法一,方法二可以实现动态监听文本改变,并非弹出键盘就立即清除placeholder,只有当用户开始输入文本时候。placeholder才会消失。...特点:这个方法和方法三很相似,只是没有利用通知来监听文本改变,需要配合textViewDidChanged:这个文本改变代理方法使用。...UITextView文本改变代理方法 #import "ViewController.h" #import "WSTextView.h" @interface ViewController ()

9.8K40

iOS文本布局探讨之三——使用TextKit框架进行富文本布局

iOS文本布局探讨之三——使用TextKit框架进行富文本布局 一、引言         关于图文混排,其实以前博客已经讨论很多,在实际开发中,经常使用第三方框架来完成排版需求,其中RCLabel...二、原生UILabel真的只能渲染文字么?         CoreText是一个比较底层且十分强大文本渲染框架,但是其使用起来并不是十分方便。在较低版本iOS系统中,要进行富文本排版十分困难。...在iOS6中,系统为UILabelUITextView等这类文本渲染控件引入了NSAttributedString属性,有了NSAttributedString这个类,创建灵活多彩文本控件变得十分轻松...三、为富文本附件添加用户交互能力         TextKit框架强大到只使用UILabel就可以完成复杂文本布局,但是UILabel有一个致命缺陷,其无法进行用户交互。...这样富文本布局其实就不只局限于图文混排了,我们可以插入音频,插入视频,甚至插入任意自定义格式数据。结合使用NSTextAttachment与UITextView,这些都能实现。

2K20
您找到你想要的搜索结果了吗?
是的
没有找到

iOS开发中利用runtime设置UITextView默认文字

但不知道大家知不知道UITextView也有一个类似的属性是可以用来设置默认文字(反正在今天之前我是不知道)。...之前在项目中也遇到过设置UITextView默认文字功能,当初做法是在UITextView上添加一个UILabel,让UILabel来显示UITextView默认文字。...今天在看别人博客时候发现了UITextField有一个placeholderLabel属性,这个属性是UITextView私有属性,我们可以通过runtime访问该属性。...我们可以通过创建一个UILabel,然后利用KVC将UITextViewplaceholderLabel替换成我们自己创建UILabel来达到设置UITextView默认文字功能。...默认文字要求不是很苛刻的话,这样就可以快速设置UITextView默认文字,可以提高我们开发效率。

58220

IOS本地化应用

应用本地化是分别对字符串、图片和 xib storyboard 文件本地化,而传统做法是对 xib 上字符串(包含UILabel和UIButton、UITextField等)关联一个变量,通过NSLocalizedString...以防止改动可本地化属性、不可本地化属性或者是全部属性,如图所看到。然后将需要翻译文本发给翻译人员或者是本地化服务提供商去翻译即可了。...(3)本地化将资源发给本地化服务提供商之后,他们会发回翻译完毕文件。依据翻译文本进行本地化工作。 (4)版本号控制用版本号控制系统记录下你每一次变更。 (5)測试不用怎么说,必需要步骤。...(6b)本地化变更假设你做了一些本地化变更,比方改变了已本地化文本,那么就须要从头開始这个过程。并将这些变更发给本地化人员。能够重用之前字符串翻译,这么做会大大提高效率,但仍然非常麻烦。...对 UILabel、UIButton、UITextField 字体大小做了一下自适应。

86200

iOS文本布局探讨之一——文本布局框架TextKit浅析

iOS文本布局探讨之一——文本布局框架TextKit浅析 一、引言         在iOS开发中,处理文本视图控件主要有4中,UILabel,UITextField,UITextView和UIWebView...其中UILabel与UITextField相对简单,UITextView是功能完备文本布局展示类,通过它可以进行复杂文本布局,UIWebView主要用来加载网页或者pdf文件,其可以进行HTML,...TextKit是一个偏上层开发框架,在iOS7以上可用,使用它开发者可以方便灵活处理复杂文本布局,满足开发中对文本布局各种复杂需求。...在TextKit框架中,提供了几个类分别对应处理上述必要条件: 1.NSTextStorage对应要渲染展示内容。 2.UITextView对应要渲染视图。...最后,将要展示NSTextContainer绑定到具体UITextView视图上。

1.7K10

【iOS 开发】基本 UI 控件详解 (UIButton | UITextField | UITextView | UISwitch)

UIButton 就是这种控件; -- 静态控件 : 继承了 UIView 基类, 该类控件与用户之间不能交互, 之前使用 UILabel 就是这种控件; -- 被动控件 : 该类控件可以接受用户操作...文本 和 图片 共同作为按钮背景, 比使用 Image 属性设置图片 显示内容 更丰富; (8) Shadow Offset 属性 Shadow Offset 属性 :  -- 偏移值 : 控制 UILabel...父类属性; (3) UITextView 与 UITextField 区别 UITextView 与 UITextField 区别 :  -- 单行与多行 : UITextView 是多行文本,...Touch 属性 :  -- Bounces Zoom : UIScrollView 对内容缩放时有弹性, 缩小放大时比例超过控件 minimumZoomScale maximumZoomScale...UITextView 控件指定范围文本内容将要被替换时激发方法; -- "- textViewDidChange : " 方法 : 文本内容发生改变时, 激发该方法; -- "- textViewDidChangeSelection

6.4K20

iOS学习——tableview中带编辑功能cell键盘弹出遮挡和收起问题解决

最近在项目中经常用到UITableView中cell中带有UITextFieldUITextView情况,然后在这种场景下,当我们点击屏幕较下方cell进行编辑时,这时候键盘弹出来会出现遮挡待输入...言归正传,下面就说回到我们要解决问题,在UITableViewcell中,系统自带UITableViewCell格式没有自带UITextFieldUITextView这种可以编辑区域,而这种类型...2.1 UITextFieldUITextView点击之后详细流程   在对cell进行封装和自定义时候,我们需要考虑我们UITextFieldUITextView从点击编辑框到结束编辑整个过程是怎么样...下面的流程就是UITextFieldUITextView在整个编辑过程中详细流程步骤: 在成为第一响应者之前,文本框调用其代理textFieldShouldBeginEditing:  方法来允许阻止其第一响应者...  在前面的2.1UITextFieldUITextView点击之后详细流程分析中我们知道,在点击文本之后弹出键盘时会发送一个UIKeyboardWillShowNotification通知,

3.8K80

UI篇-CATextLayer和 富文本交融

而NSMutableAttributedString有可以最自己内容作出颜色以及大小调整,这样结合起来使用的话,就远比UILabel 灵活多,效果也酷炫多,也许CATextLayer就是为了NSMutableAttributedString...在使用中通过将AttributedString赋值给控件 attributedText 属性来添加文字样式。有属性控件有UILabel、UITextField和UITextView。...greenColor]; //自动换行 label.numberOfLines = 0; //设置label文本 label.attributedText = attrStr; //label高度自适应...lightGrayColor]; //自动换行 label.numberOfLines = 0; //设置label文本 label.attributedText = attributedString...,我想你一定用不到它 - - //NSVerticalGlyphFormAttributeName 水平或者竖直文本 1竖直 0水平 在iOS没卵用,不支持竖版 2.设置段落样式:段落样式中允许你设置文字与文字之间行间距

2.4K10

UIKit框架 - TextKit

Text View是用来显示文本内容控件,主要包括UILabelUITextView和UITextField。 Text containers对应着NSTextContainer类。...NSTextContainer不仅可以创建文本可以填充区域,它还维护着一个数组——该数组定义了一个区域,排版时候文字不会填充该区域,因此,我们可以在排版文字时候,填充非文本元素。...该类负责对文字进行编辑排版处理——通过将存储在NSTextStorage中数据转换为可以在视图控件中显示文本内容,并把统一字符编码映射到对应字形(glyphs)上,然后将字形排版到NSTextContainer...该类定义了Text Kit扩展文本处理系统中基本存储机制。NSTextStorage继承自NSmutableAttributedString,主要用来存储文本字符和相关属性。...另外,当NSTextStorage中字符属性发生了改变,会通知NSLayoutManager,进而做到文本内容显示更新。

1.1K40

UILabel显示定时器文本跳动问题解决方案

先看一个有问题展示效果: ? 显示跳动文本 上面的gif图会发现在显示验证码计数时出现跳动和闪烁问题。目前大多数用来实现定时器显示控件都是UILabel。...在iOS9以前系统默认英文字体是Helvetica, 这种字体每个数字宽度都是相等。而在iOS9以后默认英文字体变为San Fransico字体,这种字体每个数字宽度是不相等。...正是因为数字宽度不相等就导致了用UILabel来显示定时器文本时出现文字跳动闪烁问题。 因此解决方案就是选用一种等宽数字字体显示即可。...UILabel *label = [UILabel new]; label.font = [UIFont fontWithName:@"Helvetica" size:16]; 用UIFont新...label = [UILabel new]; //记得这个API是iOS9以后才有效!!!

1K20

图文混排

它良好结合了 UIKit 和 Core Graphics/Quartz: UIKit UILabel 允许你通过在 IB 中简单拖曳添加文本,但你不能改变文本颜色和其中单词。...UITextView,UITextField、UILabel都已经基于Text Kit重新构建,所以它们都支持分页文本文本包装、富文本编辑、交互式文本着色、文本折叠和自定义截取等特性。...1、这个管理器监听文本存储中文本属性改变通知,一旦接收到通知就触发布局进程。...5、UITextView UITextView作为显示出来实际文本视图,在 TextKit 中,文本视图有两个目的:第一,它是文本系统用来绘制视图。...具体来说,文本视图实现 UITextInput 协议来处理键盘事件,它为用户提供了一种途径来设置一个插入点选择文本。它并不对文本做任何实际上改变,仅仅将这些改变请求转发给刚刚讨论文本存储。

1.5K30

如何让你服务屏蔽Shodan扫描

需求分析 出于这样需求,我们最容易想到方案就是黑名单,即把shodan扫描服务器ip添加到我们防火墙黑名单,这样这些ip在和我们进行连接时候,防火墙就能直接拦截。...但是,如何能获取到shodan扫描器ip呢?...很显然,shodan不可能傻到在网络上公布他们扫描服务器ip地址,这样大家就可以轻而易举地对它进行屏蔽,那我们是否能利用一些别的手段获取到shodan扫描服务器呢? 3....随机化 如果大家有研究过防火墙或者IDS检测策略,就会知道防火墙IDS对于同一源地址向不同目标的地址同一端口、同一源地址对同一目标的不同端口连接访问统计是很容易,一旦这些连接数超过了某一阈值,...根据step1ip和step2端口,进行一次端口banner抓取 step 4: 回到step1 通过上述策略,shodan扫描器看起来就像一个“正常”主机。

1.3K20
领券