UITextView 在滚动之前不会显示

     2023-03-12     199

关键词:

【中文标题】UITextView 在滚动之前不会显示【英文标题】:UITextView doesn't show until it is scrolled 【发布时间】:2011-10-12 10:30:14 【问题描述】:

我正在使用UITextView 显示来自xml 的文本。我解析了xml 并将文本存储在NSArray 中,然后我将其添加到我的代码中的UITextview

问题: 当我运行代码时,textview 显示为空或带有部分文本,当我尝试滚动 textview 时,将显示整个文本。

我将UITextview 添加到UIView

我发现它很奇怪并用谷歌搜索,但找不到很多对我有帮助的答案。 有人可以回复我解决问题吗

TNQ

【问题讨论】:

你有没有检查过你的 UItextView 有你期望的框架(你可以设置它的背景颜色来进行快速的视觉检查) 我也遇到过这个问题。我使用这个解决方案解决了这个问题。 [1]:***.com/a/11147954/1635315 这对我也有帮助..谢谢.. 【参考方案1】:

找到一个简单的解决方案

遇到了同样的问题。当您将文本放入不可见的 UITextView 时,它不会绘制文本。

我的 UITextView 关闭屏幕并像这样设置动画:

    [UIView animateWithDuration:0.3 delay:0.0 options:UIViewAnimationCurveEaseOut animations:^
    self.contentView.center = CGPointMake(self.contentView.center.x + move * (self.contentView.frame.size.width /2), self.contentView.center.y);
    self.textView.frame = self.textView.frame; // <<<--- ADD THIS LINE
     completion:^(BOOL finished) 
    if (finished) 
    
];

当您重新设置 textview 的框架时,它会重新绘制它的文本。因此,您需要做的就是在 UITextView 出现在屏幕之前添加我在上面标记的行。

干杯

【讨论】:

+1 不得不这样做真是太糟糕了,但这绝对解决了我的问题。 在我的情况下,我需要先将其设置为 CGRectZero,然后再恢复它。男人!【参考方案2】:

UITextView 继承自 UIScrollView,所以只需滚动即可。

[detailsTextView setContentOffset:CGPointMake(0, 1) animated:YES];

【讨论】:

感谢您节省大量时间【参考方案3】:

我通过清除 textview 并再次将文本添加到 textview 解决了这个问题,我不知道确切的基础,但我的问题已经解决。 就我而言: 我正在将 textview 的框架从外部更改为单击按钮时的视图。单击按钮时,textview 不显示内容并在滚动时显示。

我解决了,通过从 textview 中删除文本并在单击按钮时重新输入文本。

【讨论】:

我现在看到了同样的问题。我从 UITextView 关闭屏幕开始,然后按下按钮将其滑入。我用文本(超过 10 行)加载了 textview,但在用户触摸 textview 之前它不会显示。这看起来像一个 iOS 错误,或奇怪的“功能”。进行上述修复只会使第一行可见...... duh。【参考方案4】:

UItextView 继承自 UIScrollView。这意味着它具有滚动功能。因此,如果UITextView 的内容足够小以适合其框架,则不需要滚动。

但是,如果它足够大,您需要滚动UITextView

这有意义吗?

更多信息请参考UITextView的类参考

【讨论】:

这是真的,但我的情况是 uitextView 在滚动之前没有显示任何数据。至少它应该在滚动之前适合 textview 的数据量。不是吗?【参考方案5】:

确保正确调用您设置 textview 文本的方法。您分配给文本视图的字符串采用正确的字符串格式(如果不是,请保留它)。

【讨论】:

【参考方案6】:

空格和/或换行符有可能出现在实际文本之前。在将其分配给文本视图之前修剪这些字符。

NSCharacterSet *charset = [NSCharacterSet whitespaceAndNewlineCharacterSet];
NSString *text = [parsedString stringByTrimmingCharactersInSet:charset];
textview.text = text;

【讨论】:

【参考方案7】:

请在你的 textView 加载时尝试一下

NSAttributedString *oldtext = objTextView.attributedText;
[objTextView removeFromSuperview];
objTextView.attributedText = oldtext;
[self.view addSubview:objTextView];

在我的例子中,我的文本是属性

【讨论】:

【参考方案8】:

当您完成解析 XML 的操作时,您是否确保您的更新发生在主线程上?

UIKit 仅在主线程上更新,因此任何对其进行的更新只会在您下次触摸对象并强制更新时显示。

作为正确执行此操作的一种方法的示例。

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^

   [self parseXMLOffMainThread];

   dispatch_async(dispatch_get_main_queue(), ^

      self.myTextView.text = parsedText;

      );        

 );

【讨论】:

显示键盘时 UITextView 不会滚动

】显示键盘时UITextView不会滚动【英文标题】:UITextViewwon\'tscrollwhenkeyboardisdisplayed【发布时间】:2016-05-2315:14:06【问题描述】:我已经实现了一些代码来在显示键盘时滚动屏幕,以防止字段被覆盖。这适用于Text字段,但不适用于U... 查看详情

如果在之前在 UITextField 上键入之前未“加载”,则 UITableViewCell 中的 UITextView 不会显示

...前在UITextField上键入之前未“加载”,则UITableViewCell中的UITextView不会显示【英文标题】:UITextViewinUITableViewCellnotshowingupifnot"loaded"beforetypingonaUITextFieldbefore【发布时间】:2018-06-2803:37:54【问题描述】:我在XCode项目中有一个... 查看详情

在滚动触发之前,某些项目不会显示在 SectionList 中

】在滚动触发之前,某些项目不会显示在SectionList中【英文标题】:SomeitemsdonotdisplayinSectionListuntilscrolltrigger【发布时间】:2019-01-2812:20:28【问题描述】:使用SectionList时,虽然调用了renderItem,但不会显示行。当在列表上触发滚动... 查看详情

在 uiScrollView 之前添加 uiTextView

】在uiScrollView之前添加uiTextView【英文标题】:AddinguiTextViewbeforeuiScrollView【发布时间】:2013-03-1907:42:40【问题描述】:我希望textview像这样在我的tablecell内的滚动视图之前,以便滚动视图滚动并且标题保持不变。[Titlegoeshere]-itdoesn... 查看详情

在 iOS 7 上成为第一响应者后,UITextView 不会滚动到插入符号

】在iOS7上成为第一响应者后,UITextView不会滚动到插入符号【英文标题】:UITextViewdoesn\'tscrolltocaretafterbecomingfirstresponderoniOS7【发布时间】:2013-09-2009:34:51【问题描述】:我有UITableViewCell,在这个单元格中我有UITextView和一些文字... 查看详情

CollectionView 布局在滚动之前不会刷新

】CollectionView布局在滚动之前不会刷新【英文标题】:CollectionViewlayoutdoesn\'trefreshuntilscroll【发布时间】:2014-04-1821:58:52【问题描述】:展示我的问题的最佳方式是使用下面的视频:http://foffer.dk/collectionview.mp4如您所见,在开始滚... 查看详情

有没有办法在不开始滚动的情况下显示 UITextView 的滚动指示器?

】有没有办法在不开始滚动的情况下显示UITextView的滚动指示器?【英文标题】:IsthereanywaytoshowthescrollindicatorofaUITextViewwithoutstartingtoscroll?【发布时间】:2012-08-2117:38:36【问题描述】:我有一个带有文本的UITextView,需要滚动才能... 查看详情

在图像上淡出滚动 UITextView?

】在图像上淡出滚动UITextView?【英文标题】:FadeoutscrollingUITextViewoverimage?【发布时间】:2014-07-0715:50:51【问题描述】:我希望在背景图像上淡出滚动的UITextView,类似于这个小示例顶部的渐变。我正在尝试使用CAGradientLayer和掩码... 查看详情

UITextView 代表禁用滚动

】UITextView代表禁用滚动【英文标题】:UITextViewdelegatesdisablesScrolling【发布时间】:2016-07-0914:59:43【问题描述】:设置UITextView的委托时,我无法滚动,添加新行时,滚动视图不会向下滚动UITextView在UITableView内的UITableViewCell内我的... 查看详情

如何使 uitextview 不可滚动但显示所有内容

】如何使uitextview不可滚动但显示所有内容【英文标题】:howtomakeuitextviewnonescrollablebutdisplayallcontent【发布时间】:2013-10-3015:16:57【问题描述】:目前在我的IB中,我有一个视图控制器,它被UIScroll视图覆盖。在滚动视图中,顶部... 查看详情

为啥 UIImageView 在滚动之前不显示四舍五入?

】为啥UIImageView在滚动之前不显示四舍五入?【英文标题】:WhyUIImageViewdoesn\'tdisplayroundeduntilscrolling?为什么UIImageView在滚动之前不显示四舍五入?【发布时间】:2017-08-0315:06:30【问题描述】:我的UIImageView在滚动或重新加载集合视... 查看详情

在启用滚动的堆栈视图中扩展 UITextView

】在启用滚动的堆栈视图中扩展UITextView【英文标题】:ExpandingUITextViewinsideaStackViewwithscrollingenabled【发布时间】:2017-10-2623:45:54【问题描述】:我正在尝试使用AutoLayout和Stackview来实现一些目标。我有一个带有UIView、UITextView和UIVie... 查看详情

光标未显示在 UITextView

】光标未显示在UITextView【英文标题】:CursornotshowingupinUITextView【发布时间】:2014-01-0621:10:03【问题描述】:谁能想到闪烁光标不会出现在UITextView中的原因?我有一个自定义控件,它只是UIView的子类,其中有一个UITextView,但是当... 查看详情

在我滚动之前,数据不会加载到 UITableView 中

】在我滚动之前,数据不会加载到UITableView中【英文标题】:Datadoesn\'tloadinUITableViewuntilIscroll【发布时间】:2012-06-0818:14:35【问题描述】:我正在尝试在单元格中加载已解析的数据,但问题是它是同步发生的,并且UitableView在数据... 查看详情

如何滚动到 UITextView 中的当前光标位置?

】如何滚动到UITextView中的当前光标位置?【英文标题】:HowtoscrolltocurrentcursorpositioninUITextView?【发布时间】:2015-08-0619:30:44【问题描述】:我已经在S.O.获取光标当前位置的简单解决方案,然后滚动到它(假设键盘可见)。在某... 查看详情

UITableView 在滚动或重新加载 tableviewcell 之前不显示远程图像

】UITableView在滚动或重新加载tableviewcell之前不显示远程图像【英文标题】:UITableViewnotshowingremoteimageuntilscrollorreloadoftableviewcell【发布时间】:2019-01-1806:55:29【问题描述】:我正在使用Kingfisher下载和缓存远程图像。我想在UITableView... 查看详情

UITextView 不循环滚动

】UITextView不循环滚动【英文标题】:UITextViewnotscrollinginaloop【发布时间】:2014-06-0111:58:46【问题描述】:我有这个循环更新的UITextView。在每个循环中,文本都会附加到文本视图的末尾。文本视图更新但不滚动以显示文本视图的... 查看详情

一直显示滚动指示器 UITextView

】一直显示滚动指示器UITextView【英文标题】:ShowingscrollindicatorallthetimeUITextView【发布时间】:2016-06-2311:23:55【问题描述】:我想一直显示我的滚动视图。我环顾四周寻找了一些答案,我发现了我实现的这个:overridefuncviewDidLoad()s... 查看详情