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

如何在UITextview中查找文本不需要在iOS中滚动

在iOS中,可以使用UITextView的scrollRangeToVisible:方法来实现在不滚动的情况下查找文本。具体步骤如下:

  1. 获取UITextView的文本内容:可以通过UITextView的text属性获取到文本内容。
  2. 创建一个NSRange对象,用于存储要查找的文本范围。
  3. 使用NSString的rangeOfString:options:方法在文本内容中查找指定的文本。可以设置options参数为NSCaseInsensitiveSearch来忽略大小写。
  4. 如果找到了匹配的文本,将其范围存储到之前创建的NSRange对象中。
  5. 使用UITextView的scrollRangeToVisible:方法将匹配的文本范围滚动到可见区域。

以下是一个示例代码:

代码语言:txt
复制
// 获取UITextView的文本内容
let text = textView.text

// 创建一个NSRange对象,用于存储要查找的文本范围
var range = NSRange()

// 使用NSString的rangeOfString:options:方法在文本内容中查找指定的文本
let foundRange = (text as NSString).range(of: "要查找的文本", options: .caseInsensitive)

// 如果找到了匹配的文本,将其范围存储到之前创建的NSRange对象中
if foundRange.location != NSNotFound {
    range = foundRange
}

// 使用UITextView的scrollRangeToVisible:方法将匹配的文本范围滚动到可见区域
textView.scrollRangeToVisible(range)

这样,就可以在不滚动的情况下查找并定位到指定的文本内容。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

史上最全的iOSUITextView实现placeHolder占位文字的N种方法

前言 iOS开发,UITextField和UITextView是最常用的文本接受类和文本展示类的控件。UITextField和UITextView都输入文本,也都可以监听文本的改变。...UITextView继承自UIScrollView这个实体类。这就导致了UITextView可以多行展示内容,并且还可以像UIScrollView一样滚动。...而开发,我们经常会遇到既要占位文字,又要可以多行展示并且可以滚动的控件,单纯的UITextField或者UITextView都不能满足这种产品上的需求。...self]; } /** * 每次调用drawRect:方法,都会将以前画的东西清除掉 */ - (void)drawRect:(CGRect)rect { // 如果有文字,就直接返回,不需要画占位文字...setNeedsDisplay]; } - (void)setText:(NSString *)text { [super setText:text]; if (text.length) { // 因为是在文本改变的代理方法判断是否显示

10.1K40

iOS 9人机界面指南(四):UI元素(下)- 腾讯ISUX

尽可能地保持每个分段的文字长度一致。因为每个分段都是等宽的,当文本长度差异很大时看上去会很不协调。 不要在同一个分段控件混用文字和图片。每一个分段都仅可支持纯文字或纯图片。...文本框 高度固定,包含圆角 当用户点击它时,自动唤起输入键盘 可以包含系统提供的按钮,书签按钮(Bookmarks) 可以展示多种文字样式(了解更多请参考 UITextView) 使用文本框来获取用户输入的少量信息...如果句子太长,用户会需要滚动才能看完,这样的体验很糟。使用句子式大写,并在句末加上适当的标点符号。 ? 避免在文本详细描述“该按哪个按钮”而导致文本过长。...我们推荐您限定好警告框的最大高度,保证在竖屏和横屏模式下文字均能不需滚动便可完整地显示。 一般情况下,使用两个按钮的警告框。两个按钮的警告框是最为常见和有用的,因为它最便于用户在两个按钮做选择。...如果你在警告框设计了太多按钮,它也许会导致警告框被强制滚动,这也是一个非常糟糕的体验。 ? 提示 如果你需要在警告框给与用户超过2个选项,可以考虑使用操作列表来代替警告框。 正确地放置按钮。

13.2K30

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

iOS文本布局探讨之一——文本布局框架TextKit浅析 一、引言         在iOS开发,处理文本的视图控件主要有4,UILabel,UITextField,UITextView和UIWebView...TextKit是一个偏上层的开发框架,在iOS7以上可用,使用它开发者可以方便灵活处理复杂的文本布局,满足开发文本布局的各种复杂需求。...官方文档的一张图片很确切,经常会被用来描述TextKit框架在iOS系统文本渲染中所处的位置。 ?...在TextKit框架,提供了几个类分别对应处理上述的必要条件: 1.NSTextStorage对应要渲染展示的内容。 2.UITextView对应要渲染的视图。...TextKit框架在对文本进行布局时,主要关注于3个方面: 1.字符的属性,例如颜色,字体等。 2.行与段落的属性,缩进,行间距等。 3.文档属性,包括四周边距、文档尺寸等。

1.7K10

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

iOS文本布局探讨之三——使用TextKit框架进行富文本布局 一、引言         关于图文混排,其实以前的博客已经讨论很多,在实际开发,经常使用第三方的框架来完成排版的需求,其中RCLabel...CoreText是一个比较底层且十分强大的文本渲染框架,但是其使用起来并不是十分方便。在较低版本的iOS系统,要进行富文本排版十分困难。...在iOS6,系统为UILabel,UITextView等这类文本渲染控件引入了NSAttributedString属性,有了NSAttributedString这个类,创建灵活多彩的文本控件变得十分轻松...首先,iOS7新添加了一类NSTextAttachment,从类名理解它是一个文本附件,其实也正是如此,NSTextAttachment类可以向文本添加一些附件,这有些向邮件系统,寄信者可以向邮件添加附件一同发送出去...这样富文本布局其实就不只局限于图文混排了,我们可以插入音频,插入视频,甚至插入任意自定义格式的数据。结合使用NSTextAttachment与UITextView,这些都能实现。

2K20

IOS开发基础系列】UITextView专题

最终,该对象包含的信息将用于文本绘制。该参数可为 nil 。 返回值         一个矩形,大小等于文本绘制完将占据的宽和高。 讨论         可以使用该方法计算文本绘制所需的空间。...size 参数是一个constraint,用于在绘制文本时作为参考。但是,如果绘制完整个文本需要更大的空间,则返回的矩形大小可能比 size更大。...(由于一个 bug,在 iOS6,宽度会被忽略) 兼容性      iOS 6.0 以后支持。 声明于     NSStringDrawing.     ...Display html text in uitextview http://stackoverflow.com/questions/2454067/display-html-text-in-uitextview...一文让你彻底了解iOS字体相关知识 http://ios.jobbole.com/83939/?

37040

iOS界面布局之三——纯代码的autoLayout及布局动画

iOS界面布局之三——纯代码的autoLayout及布局动画 一、引言         关于界面布局,apple的策略已经趋于成熟,autolayout的优势在开发也已经展现的淋漓尽致。...除了使用storyBoard进行布局约束的拖拽,有时我们也需要在代码中进行autolayout的布局设置,Masonry库可以方便的创建约束属性,实际上,我们也没有必要再使用系统原生的代码来创建和设置约束...NSLayoutRelationEqual = 0,//==     NSLayoutRelationGreaterThanOrEqual = 1,//>= }; view2:与之对应添加约束的视图对象,例如,过我要设置...创建方法的options参数,用来设置对齐模式,不需要可以写0: typedef NS_OPTIONS(NSUInteger, NSLayoutFormatOptions) {     NSLayoutFormatAlignAllLeft...四、通过动画改善更新约束时的效果         这一点非常coll,上面我们已经实现了textView随文本的行数高度进行自适应,但是变化的效果十分生硬,还要apple的动画框架支持autolayout

2.8K30

iOS导航栏使用总结

; 1.全局设置 全局设置一般的都是在AppDelegate设置,这样整个app都会生效,相关的代码与效果图如下: //1.设置导航栏背景颜色 [[UINavigationBar appearance...UIGestureRecognizer *)gestureRecognizer{ if (self.childViewControllers.count == 1) { // 表示用户在根控制器界面,就不需要触发滑动手势...self.navBarBottomImage.hidden = NO; } //第二步:添加用于获取导航栏分割线的方法 //导航栏底部分割线是一个UIImageView,且高度不超过1.0个高度,可据此查找此对象...我们可以通过一段代码来测试一下效果,在默认导航栏(半透明)的视图控制器里添加如下代码: //UITextView是滑动视图,内容自动向下偏移,不会被导航栏覆盖 UITextView *leftTextView...君不见,高堂明镜悲白发,朝青丝暮成雪。人生得意须尽欢,莫使金樽空对月。天生我材必有用,千金散尽还复来。"

3.2K20

iOS 9人机界面指南(四):UI元素(上) - 腾讯ISUX

请注意,iOS本身提供了若干内置的服务,打印,转发到Twitter,发送信息和Airplay等等,你不需要再额外为这些内置任务创建活动。...下图是iOS模拟器的翻页样式: ? API注释 想要了解如何在代码定义图片视图,请参考Page View Controllers. 页面视图控制器: 带滚动条的页面视图控制器没有默认的外观。...如果你确实要在同屏中放两个滚动视图,可以考虑给他们设定不同的滚动方向,来避免用户想要滚动一个视图的时候误操作。...Value 2的布局文本和副标题中间的垂直间距会让用户专注于副标题的第一 个单词。 ? 重要 以上四种单元格样式均支持添加表格视图元素,勾选或展开标志。...4.2.12 文本视图 文本视图可以接收和展示多行文本。 ? API注释 想了解如何在代码定义文本视图,参考Text Views.

10.1K51

iOS表情键盘的完整实现

转成 "笑死了[笑哭]" 这样的纯文本,而不是直接把表情图片直接发到服务端,也就是说项目中有大量的地方会有把文本->表情的操作,所以PPStickerDataManager类也提供匹配某段纯文本的表情...上,UITextView上的NSTextAttachment(表情)默认可以进行拖拽交互,但是却导致拖动光标时很容易触发这个交互(图示可以查看上面说到的微博国际版的误触)。...一番查找之后才找到一个比较隐蔽的属性:textDragInteraction,直接设置为NO就能禁止掉NSTextAttachment的拖拽交互。...} 与服务的的交互 我们在输入框输入的内容与服务端进行交互的时候都是用纯文本的,比如会把 "笑死了?"...这里自己继承并实现了UITextView的子类PPStickerTextView,在这个类重载复制、黏贴、剪切等操作,分别对应的方法如下: - (void)cut:(id)sender; //

1.9K30

同层渲染

原生组件:iOS、Android 等客户端 Native 组件, iOS 的 UITextField、UITextView,Android 的 EditText、ListView 等; H5 组件...:是指 HTML5 语言编写的 web 组件,、 等; 相比于 H5 组件,原生组件不仅可以提供 H5 组件无法实现的一些功能,还能提升用户体验上的流畅度...等可滚动的 H5 组件中使用:因为如果开发者在可滚动的 DOM 区域,插入原生组件作为其子节点,由于原生组件是直接插入到 WebView 外部的层级,与 DOM 之间没有关联,所以不会跟随移动也不会被裁减...实现原理 本来只讨论 iOS 对于同层渲染的实现原理,对于 Android,大家可以参考相关链接的《小程序同层渲染原理剖析》。...这是一个原生的 UIScrollView 的子类,也就是说 WebView 里的滚动实际上是由真正的原生滚动组件来承载的,WKWebView 这么做是为了可以让 iOS 上的 WebView 滚动有更流畅的体验

1.4K21

iOS学习——键盘弹出遮挡输入框问题解决方案

iOS或Android等移动端开发过程,经常遇到很多需要我们输入信息的情况,例如登录时要输入账号密码、查询时要输入查询信息、注册或申请时需要填写一些信息等都是通过我们键盘来进行输入的,在iOS开发过程...,一般用于进行输入信息的有两类:UITextField和UITextView,前者是单行输入文本框,后者是可滑动的多行输入文本框,在这整个开发过程,我们需要控制键盘的弹出和收起、在输入结束的时候获取输入的信息...的一些方法,两者在控制文本的相应流程稍有差别,但是都差不多,接下来,我们就从官方文档开学习一下文本框输入完整的响应过程。...上的实现在我之前的随笔中有专门讲到过了,想了解的小伙伴可以直接戳这里:ios学习——键盘的收起 三 文本框内容的获取   在之前的分析,我们知道,文本框在结束之后都会调用一个方法就是  textFieldDidEndEditing...,在我们的示例,我们就有两个输入文本框,这时候我们收到通知的时候怎么判断是哪个文本框呢?

3.5K60

设计iOS随系统键盘弹收和内容文字长度自适应高度的文本

设计iOS随系统键盘弹收和内容文字长度自适应高度的文本框     文本输入框是多数与社交相关的app不可或缺的一个控件,这些文本输入框应该具备如下的功能: 1.在键盘为弹起时,输入框悬浮在界面底部...将需要的属性与约束对象关联到文件: //整体文本控件的高度     @IBOutlet weak var textViewHeight: NSLayoutConstraint!     ...//文本控件的文字输入控件UITestView的高度     @IBOutlet weak var textFieldHeight: NSLayoutConstraint!     ...//文本控件中文字输入控件     @IBOutlet weak var ourTextField: UITextView!     ...UIKeyboardDidChangeFrameNotification: String//键盘frame已经改变 还需要实现当输入框文字长度改变时的回调方法如下: func textViewDidChange(textView: UITextView

1.4K20

iOS开发常用之网络

Horizo​​ntalScrollCell - Horizo​​ntalScrollCell是一款使用方便的水平方向可滚动的单元格,适用于UICollectionView实现水片方向滚动视图。...横向展示文本内容的自定义cell - 可以横向展示文本内容的自定义cell,根据文本无限滚动。...LxGridView-oc LxGridView-swift - 利用UICollectionView模仿iOS系统桌面图标的交互,作用动图。...VJDeviceSpecificMedia - 如何根据设备选择不同尺寸的图片 可以通过设置不同尺寸的设备的LaunchImage,来使用App适配这些设备,要在不同尺寸设备上使用不同大小的图片,则需要在代码中一一判断...更赞的是额外附了详细开发教程如何在Swift制作Tinder-Like Koloda动画网页链接 .Yalantis出品动画程序款款精品。

23.6K10

小程序iOS客户端框架——控件事件逻辑框架与控件原生化(下)

作为一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用。小程序也体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题。...微信客户端为小程序的运行提供了框架支持,service运行环境、页面缓存机制以及控件原生化支持等,本文将对这些部分实现原理做一一介绍。 6....原生的UITexField和UITextView,提供了HTML输入框无法满足的定制化输入键盘等功能。...这一问题可以通过将H5的弹出组件都原生化得以解决,如上节提到的Toast、Alert、Picker、ActionSheet的原生化; 3 如果开发者在div滚动插入原生控件作为div的子节点,预期原生控件应该随着父节点...,客户端根据参数调整原生控件的大小(位置不需要调整,因为总是在相对于父控件的原点位置)。

2.8K40
领券