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

有没有办法将UITextView的滚动指示器放在UITextView外面?

在iOS开发中,UITextView的滚动指示器默认是放在UITextView内部的。然而,我们可以通过一些技巧将滚动指示器放在UITextView外面。

一种常见的方法是使用UIScrollView来包裹UITextView,并将滚动指示器添加到UIScrollView上。具体步骤如下:

  1. 创建一个UIScrollView,并设置其frame与UITextView相同。
  2. 将UITextView添加到UIScrollView中,并将UITextView的frame设置为与UIScrollView的bounds相同。
  3. 禁用UITextView的滚动功能,可以通过将UITextView的isScrollEnabled属性设置为false来实现。
  4. 创建一个UIActivityIndicatorView或其他自定义的滚动指示器,并将其添加到UIScrollView的右侧(或其他位置)。
  5. 监听UIScrollView的滚动事件,并根据滚动的偏移量来控制滚动指示器的显示与隐藏。

这样,滚动指示器就会显示在UITextView的外部,并且可以根据UIScrollView的滚动情况进行相应的控制。

推荐的腾讯云相关产品:腾讯云移动推送(https://cloud.tencent.com/product/umeng_push)、腾讯云内容分发网络 CDN(https://cloud.tencent.com/product/cdn)。

请注意,以上答案仅供参考,具体实现方式可能因个人需求和技术选型而有所不同。

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

相关·内容

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

UITextView 简介 (1) UITextView 继承结构 UITextView 继承结构简介 :  -- 基类 : 继承了 UIScrollView : UIView 控件, 默认这些控件都自带滚动条...委托方式 : UITextView 事件交给委托对象处理, 其委托对象实现了 UITextViewDelegate 协议, 下面介绍该协议各种方法; -- "- textViewShouldBeginEditing...按钮设置到工具条中 :  //按钮放在集合中 NSArray * buttonArray = [NSArray arrayWithObjects:buttonItem, spaceItem...] initWithTitle:@"Done" style:UIBarButtonItemStyleDone target:self action:@selector(finish)]; //按钮放在集合中...] initWithTitle:@"Done" style:UIBarButtonItemStyleDone target:self action:@selector(finish)]; //按钮放在集合中

6.7K20

UITextView 手势触发 TouchesBegan 函数

,手势触摸时,其实触发是当前view重构父类touchesbegan函数,而加载UITextView时,UITextView 其实也有相应touchesbegan函数,UITextView 继承UIScrollView...所以说,当你点击UITextView想触发相应手势函数,是做不到了,因为它始终触发是当前view手势函数,明白了吧,现在来说做法。...,就会触发MytextView 中touchesBegan 函数了,再在相应手势函数中就可以做相应操作了。...最后,如果想要通过手势改变文章字体,图片等,如果文章较长,可能会先会滚动,从而忽略掉手势操作。...那你就需要设置下了canCanelContentTouches 设置为NO, 多点触发multipleTouchEnabled设置为YES,delaysContentTouches设置为NO,后两个必须设置

1.1K10
  • 编码篇-iOS开发中奇巧小伎

    1.TableView不显示没内容Cell 2.百分号转换 3.禁止手机睡眠 4.跳进app权限设置 5.collectionView内容小于其宽高时候是不能滚动,设置可以滚动: 6.设置navigationBar...某个角添加圆角 13.一个view放置在其兄弟视图最上面、最下面 14.让手机震动一下 15.摇一摇功能 16.修改UISegmentedControl字体大小 17.获取一个view所属控制器...文字周围增加边距 41、比较两个UIImage是否相等** 42、代码方式调整屏幕亮度 43、float数据取整四舍五入 44、让正在滑动scrollView停止滚动(不是禁止,而是暂时停止滚动)...45、使用xib设置UIView边框、圆角 46、一个xib添加到另外一个xib上 47、处理字符串,使其首字母大写 48、获取字符串中数字 49、自动搜索功能,用户连续输入时候不搜索,用户停止输入时候自动搜索...5.collectionView内容小于其宽高时候是不能滚动,设置可以滚动: collectionView.alwaysBounceHorizontal = YES; collectionView.alwaysBounceVertical

    5.3K10

    iOS表情键盘完整实现

    话不多说,下面开始正文(注:本文对应Demo放在Github上:github.com/VernonVan/P…)。...首先是QQ和微信,这两者差不多,切换到表情键盘时候都是没有光标的,这样用户体验是非常不好,没有办法在输入表情时候框选区域,也不能拖动光标进行特定位置复制黏贴删除等操作,微信甚至在输入框里显示都不是点击表情图片...接下来看一下微博国际版,国际版调起表情键盘时是有光标的,是一个"真正"键盘,但是想要拖拽光标的时候,很大概率上会触发到保存图片行为(如下图所示),导致根本没办法拖动光标。 ?...表情功能,UITextView都是用NSAttributedString进行赋值,并且我们底层其实还是用上面说到纯文本进行实现,那么把 [笑死] 转成 ?...检测到是表情文本替换成对应图片 [attributeContent replaceCharactersInRange:self.selectedRange withString:@

    2K30

    函数响应式编程及ReactiveObjC学习笔记 (三)

    我们先从UITextView+RACSignalSupport.h开始看 #import @class RACDelegateProxy; @class RACSignal...另外也只能处理没有返回值代理方法 可以到UITextview+RACSignalSupport.m里面看看, 也是类似这样用 - (RACDelegateProxy *)rac_delegateProxy...类别唯一方法 - (RACSignal *)rac_textSignal; 大家可以看到, 这个方法会返回一个信号 我们可以对他订阅, 试试看 UITextView *textView..., 直接给大家一个例子: 大概效果为我们在Controller中添加一个UITextField跟一个UIDatePicker, 然后获取他们RACChannelTerminal, UIDatePicker...绑定给UITextField, 当我们滚动datePicker时候 textField值会跟着改变   UIDatePicker *datePicker = [[UIDatePicker alloc

    89320

    iOS 文本输入控制(献上框架)

    于是,我写下这篇文章,总结一下关于UITextField和UITextView输入控制那些事儿,并且还献上一个框架。...二、解决办法 对于UITextField监听文本变化方式一般分为两种,一种是输入已经绘制到界面上之后,一种是还未绘制之前。...看到这里,会想到何时textFiled代理设置为这个中间代理YBInputControlTempDelegate呢?...(解决方法在github里面有讲,只是在对应方法调用一下框架方法就行了) UITextView不能使用该方案 其实,采用这种处理办法可能会带来某些隐患。...这当中使用到了runtime几个方法和处理了方法调用周期,从技术上说不算难,但是为了实现某个需求而深入探究本质这些点结合起来,就不是一件容易事。

    1.1K120

    浅析RunLoop原理及其应用

    英文拆解不难理解其实RunLoop表示一直在运行着循环或者从上面的定义源码中可以看出就是一个do..while..循环。当启动一个iOS APP时主线程启动与其对应RunLoop也已经开启。...UITextView当用户滑动UITextView时验证码倒计时是停止,这是因为主线程RunLoop模式是UI模式这个时候RunLoop循环是优先处理UI模式任务而忽略了默认模式计时器。...这个模式下滑动UITextView或停止时候RunLoop是在UITRacking和default模式下切换(从打印日志中可以看出)。...耗时操作放到 DefaultMode 里只能解决滑动时流畅,但是停止时需要加载耗时,仍然会有卡顿感觉。...操作在必须放在主线程,但是弊端就是太多图片处理会阻塞tableview滑动流畅性 for (int i = 1; i < 4; i++) { UIImageView *imageView

    93820

    图文混排

    你可以完全控制位置、布局、类似文本大小和颜色这样属性,而 Core Text 帮你完善其它东西——类似文本换行、字体呈现等等。...6、当布局完成,文本的当前显示状态被设为无效,然后文本管理器前面几步排版好文本设给文本视图。...4、NSTextContainer NSTextContainer描述了文本在屏幕上显示时几何区域,每个text container与一个具体UITextView相关联。...为此,每个文本视图都有一个文本容器,它精确地描述了这个可用区域。在简单情况下,这是一个垂直无限相当大矩形区域。文本被填充到这个区域,并且文本视图允许用户滚动它。...5、UITextView UITextView作为显示出来实际文本视图,在 TextKit 中,文本视图有两个目的:第一,它是文本系统用来绘制视图。

    1.5K30

    ios 浅谈一下UITextFiled UITextView 在tableviewcell上边展示

    要做到在tableviewcell上边加一个输入框。允许用户输入。 1.我首先选是在uitextView  然后在通知键盘出现时候,tableview内容设置在键盘上边。...这是重点,我觉得只有一行,而且也不能左右滑动,我百度了好久,谁要是知道怎样左右滑动,请告诉我,可以留言在下边评论区,在此多谢了。这可咋整呀。 3.既然这都不行了。只能用老办法了。...因为uitableviewcontroller自动有滑动功能。感兴趣可以翻一翻我博客。 问题,完胜解决。...最近我又遇到了问题,就是uitaleviewcontroller  中uitableview style 是pain  有人想用group怎么办。...这问题,做了老半天吗,没想到还是用办法,呵呵,一句呵呵送给自己。

    66450

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

    100*100,位置放在屏幕中央,我们可以使用如下约束代码: UILabel * label = [[UILabel alloc]init];     label.numberOfLines = 0...20,如果这个20是一个变量width,我们可以20地方换成width,然后配置这个字典:@{@"width":@20},这样,在布局时,系统会把width换成20。...views是对象映射字典,原理也是字符串中对象名label映射成真实对象,NSDictionaryOfVariableBindings会帮我们生成这样字典,我们只需要想对象传进去即可,如果要手动创建这字典... () {     UITextView * textView ;     NSArray * array1;     NSArray * array2; } @...textView = [[UITextView alloc]init];     textView.layer.borderColor = [[UIColor grayColor]CGColor];

    2.9K30

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

    用活动指示器来让用户知道进程仍在进行中。有些时候,告诉用户进程没有停止比告诉他们何时完成更加重要。 设计一个与应用风格协调活动指示器。可以的话,让活动指示器尺寸和颜色与它所在背景协调。...文本框 高度固定,包含圆角 当用户点击它时,自动唤起输入键盘 可以包含系统提供按钮,如书签按钮(Bookmarks) 可以展示多种文字样式(了解更多请参考 UITextView) 使用文本框来获取用户输入少量信息...尤其是: 如果这个按钮不会造成损害性结果,又是用户最有可能会选择操作,那么它应该放在右边,取消按钮则应该放在左边。...如果这个按钮会造成损害性后果,又是用户最有可能会选择操作,那么它应该被放在左边,取消按钮应该放在右边。...避免让用户滚动操作列表。如果你操作列表中存在过多按钮,用户必须要滚动才能看完所有操作。这样体验是可能让用户不安,因为他们要花更多时间来充分理解每个选项区别。

    13.2K30

    解决UITableView中Cell重用机制导致内容出错方法总结

    上面主要是一个个UITableViewCell,可以让UITableViewCell响应一些点击事件,也可以在UITableViewCell中加入UITextField或者UITextView等子视图...,会将滚出屏幕单元格放入 重用queue中,当某个未在屏幕上单元格要显示时候,就从这个queue中取出单元格进行重用。...比如,当一个cell含有一个 UITextField子类并被放在重用queue中以待重用,这时如果一个未包含任何子视图cell要显示在屏幕上,就会取出并使用这个重用 cell显示在无任何子视图cell...解决方法: 方法1 获得cell方法从- (UITableViewCell*)dequeueReusableCellWithIdentifier:(NSString*)identifier 换为-(...重用机制是根据相同标识符来重用cell,标识符不同cell不能彼此重用。于是我们每个cell标识符都设置为不同,就可以避免不同cell重用问题了。

    2.4K50

    深入理解RunLoop及在开发中应用

    Source0:非基于端口port,例如触摸,滚动,selector选择器等用户触发事件;(只包含了一个回调函数,它并不能主动触发事件) Source1:基于端口port,一些系统事件; (包含了一个...控制线程生命周期(线程保活) 在项目中,有时我们需要创建子线程,因为如果把所有的事情都放在主线程中去做,就会阻塞住主线程。导致APP 看起来很卡。...解决NSTimer在UIScrollView滑动时停止工作问题 默认情况下,在滚动 tableView、UIScrollView 时候,NSTimer会停止工作,这是因为在滚动时,RunLoop...会进入另一个Mode 模式UITrackingRunLoopMode 下,在该模式下,定时器就会停止,当不在滚动 UITextView , 定时器会重新开始。...(应用最常见应该为轮播图自动播放时) 边滚动,定时器边工作,我们就可以用NSRunLoop默认模式: static int count = 0; NSTimer *timer =

    1.3K20

    MyLayout&TangramKit 重大升级!

    很明显UIView类返回值是默认值,而UILabel和UITextView这些类则重载了这个方法并返回了根据自身内容计算出来尺寸。...如果不需要上下滚动则改为容器视图高度等于UIScrollView视图高度即可。 如果需要左右滚动则将容器视图中最右边子视图右边边界依赖于容器视图右边边界。...如果不需要上下滚动则不要这样设置,而是改为容器视图高度等于滚动视图高度。...2.UIScrollView滚动 MyLayout&TangramKit对于处理和UIScrollView进行结合时进行特殊处理,当一个布局视图添加到滚动视图时,布局系统内部会负责处理滚动视图contentSize...要实现UIScrollView滚动时,只需要在一个滚动视图内添加一个布局视图,然后所有其他子视图都添加到这个布局视图中去,这个和上面的AutoLayout处理方式是一样,最后布局视图尺寸自适应属性设置为

    2.1K20

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

    ,让开发者具有更广阔开发想象空间;输入控件分别引入了iOS原生UITexField和UITextView,提供了HTML输入框无法满足定制化输入键盘等功能。...负责绘制网页中全部HTML元素,视频控件插入后覆盖网页中所有HTML元素: ?...这一问题可以通过H5弹出组件都原生化得以解决,如上节提到Toast、Alert、Picker、ActionSheet原生化; 3 如果开发者在div滚动条中插入原生控件作为div子节点,预期原生控件应该随着父节点...div滚动滚动而移动,并且超出div区域内容应该被裁掉,但是由于原生控件是直接插入到webview下,与div之间没有关联,所以不会跟随移动也不会被裁减,在表现上会出现与开发者预期不一致情况,影响用户体验...(大小位置均一致),保存其对象指针,并分配一个id返回给WEB端; c、当WEB端插入原生控件时,通过接口传入id通知客户端:该原生控件属于哪个div滚动条,客户端找到该滚动条对应原生UIScrollView

    2.9K40
    领券