前言 实现了一个类似腾讯新闻图文详情页的效果,不多说,上效果图 新闻.gif 草图 Paste_Image.png 步骤 创建一个 ScorllView 里面放上图片,可以左右滑动。 创建一个 UIT
博客地址 : http://blog.csdn.net/shulianghan/article/details/50051499 ;
@property(nonatomic,assign) id<UITextViewDelegate> delegate;
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的占位文字。
前几天做了个手势可以改变文章字体大小的功能。开始,在当前view中添加一个UITextView ,然后添加- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event函数,可怎么也触发不了,在网上找了些资料,说得也不是很清楚,今天把它总结下。
思路:UIView加载完成3后,用NSTimer结合setContentOffset将UITextView向下滚动1像素。在滚动到底部的时候停止NSTimer。每当手动滚动UITextView前销毁NSTimer,滚动后重新创建NSTimer。 NSTimer *timer; - (void)viewDidLoad { [self performSelector:@selector(resetText) withObject:nil afterDelay:3.0f]; } - (void)resetTe
最近搜集了自己以前的笔记中的一些小知识点,归为这篇文章,都是亲测有效的奇巧小伎,当你使用到时,你会大呼过瘾的。
AutoLayout简介 Autolayout是一种全新的布局技术,专门用来布局UI界面的,用来取代Frame布局在遇见屏幕尺寸多重多样的问题。Autolayout自iOS 6开始引入, 但是由于X
1 简介 UIScrollView 是负责滚动的视图。苹果最强大的地方就在于其良好的UI展示,和UE体验。如果不会很好的使用UIScrollView,就等于丧失了苹果一般的法力。 移动设备的屏幕大小是极其有限的,因此直接展示在用户眼前的内容也相当有限。当展示的内容较多,超出一个屏幕时,用户可通过滚动手势来查看屏幕以外的内容。 普通的 UIView 不具备滚动功能,不能显示过多的内容。 UIScrollView是一个能够滚动的视图控件,可以用来展示大量的内容,并且可以通过滚动查看所有的内容 1.1 工作原理
引言 场景(复现条件): 1、使用IQKeyboardManager 键盘管理工具,布局采用Masonry 2、 在cell上使用UITextView 导致的问题:键盘隐藏之后,UITableView 界面整体上移问题 I、解决使UITableView 界面上移问题 解决方案1: 禁止键盘出现时的界面滚动 #pragma mark - ******** 禁止键盘出现时的界面滚动 - (void)viewWillDisappear:(BOOL)animated{ [super viewWill
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/52587477
iOS 往数据库里写保存文件路径的时候,不要写全路径,因为软件更新或者重新安装沙盒路径会变
关于UITableViewCell一些别具一个的样式和用法。很早就想系统的写一篇文章,文章中囊括开发中UITableViewcell的一些花样用法和奇葩用法。结果还是以简短的方式分享出来,因为没有太多
对于第一点,有一个方便的计算方法,就是获取UITextView内容的高度比上UITextView的字体的高度,即可得到当前的行数。
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/75258532
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/53261917
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/76637614
今天先不去分析它的核心代码, 我们先看看ReactiveObjC库里面一些特别的东西, 如果大家点开ReactiveObjC目录应该会看到很多category, 今天我们先来看看这些
问题描述 当UITextView 处于编辑状态时,即键盘存在时,UITextView是第一响应者,而当需要弹出UIMenuController时,第一响应者需要变更为处理UIMenuControll
Swift项目中需要实现:一段文案默认最多显示3行,当超过三行时在末尾显示“更多”,当用户点击更多时,再展开显示所有文案:
在iOS开发中,处理文本的视图控件主要有4中,UILabel,UITextField,UITextView和UIWebView。其中UILabel与UITextField相对简单,UITextView是功能完备的文本布局展示类,通过它可以进行复杂的富文本布局,UIWebView主要用来加载网页或者pdf文件,其可以进行HTML,CSS和JS等文件的解析。
意见反馈页面有一行提示文字,包含客服QQ,要求qq可点击。为了实现点击功能,这里的文本没有使用UILabel,而是采用了UITextView,使用textView的链接功能。
IOS综合项目,完善的框架,路由模块化设计,集成科大讯飞SDK方便iOS基本输入控件实现语音辅助输入,UI效果参照京东APP,JS与OC交互,ionic跨平台开发,MQTT 协议,即时通讯协议,视屏播放,跑马灯效果 仿美团地图定位,城市收索, 友盟分享,基础动画 增加FCUIID帮助类,引导页功能模块,照片上传 ,UIView自定义导航栏,文件下载,Masonry 案例,fmdb,数据库,sqlite,百度地图,二维码,照片上传,照片上传有进度,列表倒计时,H5和原生交互,自定义各种弹框,常见表单类型,人脸识别,列表加载图片,列表拖拽,日历操作,导航条渐变,核心动画,动画特效等等
是基于 iOS 3.2+ 和 OSX 10.5+ 的一种能够对文本格式和文本布局进行精细控制的文本引擎。 它良好的结合了 UIKit 和 Core Graphics/Quartz: UIKit 的 UILabel 允许你通过在 IB 中简单的拖曳添加文本,但你不能改变文本的颜色和其中的单词。 Core Graphics/Quartz几乎允许你做任何系统允许的事情,但你需要为每个字形计算位置,并画在屏幕上。 Core Text 正结合了这两者!你可以完全控制位置、布局、类似文本大小和颜色这样的属性,而 Core Text 将帮你完善其它的东西——类似文本换行、字体呈现等等。
视图(View), 视图控制器(ViewController)是IOS开发UI部分比较重要的东西。在学习视图这一块的东西的时候,感觉和Java Swing中的Panel差不多。在UIKit框架中都有一个UIWindow来容纳我们的View。应用程序中几乎全部的可视控件都是UIView以及UIView的子类的实例,并且UIWindow也是UIView的子类。UIWindow可以不借助于父类视图显示在屏幕上,其余的视图都需要添加到父视图中才能显示。窗口是用来显示视图的,下面我们将会结合着实例来具
下面的代码是使用的全部Xcode Version 6.0.1 (6A317)书面。
在开发过程中,我们经常会用到UITextField、UITextView等文本框,然后这些文本框在点击之后会自动成为第一响应者(FirstResponder),并自动弹出软键盘。然而,没有自动定义好的软键盘的回收。今天,我在开发过程中就遇到了这个问题,首先,软键盘收起会发生在两种情况下,一是当前区域为非第一响应者,二是当前区域的输入结束。具体解决方案有两种: 1、在当前页面设置点击事件,当点击事件发生时,注销当前视图的第一响应者或者设置当前摄入结束。当点击事件发生在非选中区域时,则键盘会自动回收: 1
在Swift2.0中,UITextFile 和 UITextView 的使用总体上和在OC中是一样的,今天只是给大家一段代码,然后说UITextView里面的光标位置的问题。先看他们使用的简单的代码 func creatUIciew(){ // textView let textview:UITextView = UITextView(frame: CGRectMake(10, 100, 200, 100)) textvie
关于图文混排,其实以前的博客已经讨论很多,在实际开发中,经常使用第三方的框架来完成排版的需求,其中RCLabel和RTLabel是两个比较好用的第三方库,他们的实现都是基于UIView的,通过更底层的CoreText相关API来进行图文处理。相关介绍博客地址如下:
可能作为 iOS 开发者,对同层渲染这个名词比较陌生,但是如果大家开发过小程序,应该对这个名词就不会陌生,因为小程序中有一类组件叫做原生组件(native-component),比如camera、video等,这类组件在渲染过程中最终会映射成下文提到的原生组件。
在iOS或Android等移动端开发过程中,经常遇到很多需要我们输入信息的情况,例如登录时要输入账号密码、查询时要输入查询信息、注册或申请时需要填写一些信息等都是通过我们键盘来进行输入的,在iOS开发过程中,一般用于进行输入信息的有两类:UITextField和UITextView,前者是单行输入文本框,后者是可滑动的多行输入文本框,在这整个开发过程中,我们需要控制键盘的弹出和收起、在输入结束的时候获取输入的信息,此外,我们还需要保证在键盘弹起的时候不遮挡我们输入的文本框。今天,我们就主要来说一下文本框
最近在项目中经常用到UITableView中的cell中带有UITextField或UITextView的情况,然后在这种场景下,当我们点击屏幕较下方的cell进行编辑时,这时候键盘弹出来会出现遮挡待输入的cell,导致我们无法很方便地查看到我们输入的内容,这样的体验是非常不好的。这个问题在之前我们的随笔iOS学习——键盘弹出遮挡输入框问题解决方案中也有讲过对应的解决方案,但是该方案在最近的应用中还有点小问题,我们在这里重新进行处理好。 一 主控制器为UITableViewController或其子类
小程序自发布以来,为开发者和用户提供了一种轻量级的App。作为一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用。小程序也体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题。 微信客户端为小程序的运行提供了框架支持,如service运行环境、页面缓存机制以及控件原生化支持等,本文将对这些部分实现原理做一一介绍。 6. 原生控件的创建与交互机制 小程序内部提供了部分非H5实现的原生控件。原生控件可以提供H5控件无法实现的一些功能,原生控件的用户体
首先你要花点时间针对objective-c语言的学习;毕竟这个是iOS开发的基础(你也可以尝试用Swift,但此项目只是针对OC),编程套路其实都是差不多,多写多想多实践;关于环境的搭建就不在本文进行介绍,这部分内容可以自行百度或谷歌,都有相应的说明;
frame.size.height = self.serTextView.contentSize.height;
CoreText 之后,苹果新增加了UITextkit,更容易实现图文混排,甚至混编!
经常做,经常忘,记下来,以后好直接拷贝。 开始使用如下方法做限制 - (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text { if ([text isEqualToString:@""] && range.length > 0) { //删除字符肯定是安全的 return YES; }
SwiftUI 并未提供可自适应高度的文本框组件,为实现自适应高度则需要继承 UITextField 进而自定义封装一个弹性的文本框组件。 通过更新函数,从该弹性文本框中获得文本内容的高度并将其赋值给组件的高度,即可实现“弹性”伸缩的效果。
最近在公司做了个表情键盘的需求,这个需求的技术难度不会很大,比较偏向业务。但是要把用户体验做的好也是不容易的,其中有几个点需要特别注意。话不多说,下面开始正文(注:本文对应的Demo放在Github上:github.com/VernonVan/P…)。
自定义UITextView,带有placeholeder,可以设置placeholeder文字的大小和颜色。
一言不合先上效果图: ①、自定义的UIPageControl是继承于UIView,封装好的,可以设置图标大小,形状,图片 ,颜色,间隔,当然,需要的话,也可以自定义图标视图;详情请按快捷键Ctrl +
1 let firstTextView = UITextView(frame:CGRect(x:20, y:40, width:135, height:200)) 2 firstTextView.backgroundColor = UIColor.brown 3 firstTextView.isScrollEnabled = false; 4 self.view.addSubview(firstTextView) 5 let textStorage = firstTextView.textStorage 6 let path = Bundle.main.url(forResource:“word”, withExtension:“txt”) 7 do { 8 let string = try String(contentsOf:path!) 9 textStorage.replaceCharacters(in:NSRange(location: 0,length:0), with:string) 10 } 11 catch{ 12 print(“读取文件错误!”) 13 } 14 let secondRect = CGRect(x:165, y:40, width:135, height:200) 15 let secondTextContainer = NSTextContainer() 16 let secondTextView = UITextView(frame:secondRect, textContainer:secondTextContainer) 17 secondTextView.backgroundColor = UIColor.brown 18 secondTextView.isScrollEnabled = false; 19 self.view.addSubview(secondTextView) 20 let thirdRect = CGRect(x:20, y:250, width:280, height:300) 21 let thirdTextContainer = NSTextContainer() 22 let thirdTextView = UITextView(frame:thirdRect, textContainer:thirdTextContainer) 23 thirdTextView.backgroundColor = UIColor.purple 24 thirdTextView.isScrollEnabled = false; 25 self.view.addSubview(thirdTextView) 26 let layoutManager = NSLayoutManager() 27 layoutManager.addTextContainer(firstTextView.textContainer) 28 layoutManager.addTextContainer(secondTextContainer) 29 layoutManager.addTextContainer(thirdTextContainer) 30 textStorage.addLayoutManager(layoutManager)
MyLayout和TangramKit是一套基于frame之上的UI界面布局库的OC版本和Swift版本。目前最新版本升级为MyLayout1.7.0和TangramKit1.4.0。 ?OC1.7
iOS 16 中新增的查找交互,用于文本内容的查找与替换。 它会弹出一个查找面板,输入需要搜索的关键字即可进行查找与替换操作。 UITextView、WKWebView 与 PDFView 已经默认支持,但需要将其isFindInteractionEnabled属性设置为true。 // Created by YungFan import UIKit class ViewController: UIViewController { lazy var textView: UITextView =
RunLoop:运行循环,简单的说就是处理线程事件和管理线程的一种机制。当子线程的事件结束时,runloop将会自动休眠,app主线程中的runloop处于一直唤醒状态。当用户触发事件时,runloop通知线程执行事件内容。
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/51086444
我们在业务开发中,往往会遇到需要限制文本输入的需求,比如只能输入数字、不能输入空格,稍微复杂一点的比如小数点后最多两位的价格输入。当然,若你的正则表达式玩儿得很溜,这些并不是难题。但是我们仍然需要设置代理、实现代理,然后写上一堆的判断逻辑,总是有一些奇奇怪怪的问题导致最终结果不能很快完美呈现。
一. TextKit 架构 TextKit 架构.png 看图就已经知道底层就是Core Text,苹果可能感觉Core Text比较难用,在iOS 7时发布了TextKit. 二.Text Kit
领取专属 10元无门槛券
手把手带您无忧上云