当新行添加到 UITextView 实例中时,如何向上滚动视图?

     2023-03-16     242

关键词:

【中文标题】当新行添加到 UITextView 实例中时,如何向上滚动视图?【英文标题】:How to scroll view up as new line is added into UITextView instance? 【发布时间】:2011-10-20 14:35:03 【问题描述】:

我已经成功设置了一个滚动视图,可以移动一些文本字段和一个文本视图,以防它们被键盘隐藏。但是,当文本视图收到一些超出第一行的文本时,下一行显然被键盘隐藏了。因此,我正在寻找一种技巧来在每次向 UITextview 实例添加/删除新行时向上/向下移动视图。

感谢您的帮助,

斯蒂芬

【问题讨论】:

【参考方案1】:

你可以实现

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text

您的 UITextView 委托上的方法,计算 textviews 文本中换行符的数量,计算您必须滚动多远,然后滚动。 (每次用户输入字符时都会调用此方法。)

或者,您可以采用更简单的方法并滚动足够远以显示您的整个UITextView。如果用户输入的内容超出了 textview 的大小,则 textview 将自动开始滚动。

【讨论】:

【参考方案2】:

使用scrollRectToVisible:animated:setContentOffset:animated: - 在你的情况下,第一个,如:

[scrollView scrollRectToVisible:textField.frame animated:YES];

您可能还需要将文本字段内容滚动到可见,但我认为这应该会自动发生。

【讨论】:

【参考方案3】:

因此,如果您编译以前的答案:

只需将您的 textView.delegate 设置为 self 并将您的 viewController 设置为 <UITextViewDelegate> 和:

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text 
    [textView scrollRangeToVisible:range];
    return YES;
 

【讨论】:

UITextView 将文本添加到新行

】UITextView将文本添加到新行【英文标题】:UITextViewaddingtexttonewline【发布时间】:2009-09-1714:11:10【问题描述】:我想为我的iPhone应用程序向UITextView添加新的文本行。基本上我的文本视图从一行开始,随着应用程序的推进,新的... 查看详情

当移动到嵌入在 UITableViewCell 中的 UITextView 中的新行时,光标消失

】当移动到嵌入在UITableViewCell中的UITextView中的新行时,光标消失【英文标题】:CursorDisappearingWhenmovingtonewlineinUITextViewembeddedinUITableViewCell【发布时间】:2018-06-0116:13:13【问题描述】:我在UITableViewCell中嵌入了一个UITextView。在UITex... 查看详情

当用户输入 29 个字符时,将 UITextView 插入符号移动到新行?

】当用户输入29个字符时,将UITextView插入符号移动到新行?【英文标题】:MoveUITextViewcarettonewlinewhenuserenter29character?【发布时间】:2015-10-1407:42:52【问题描述】:我只想要UITextView中的3行。每行最多29个字符我做的是staticconstNSUInte... 查看详情

当键盘出现在 iOS 7 中时如何调整 UITextview 的大小

】当键盘出现在iOS7中时如何调整UITextview的大小【英文标题】:HowdoIresizeUITextviewwhentheKeyboardshowsupiniOS7【发布时间】:2013-09-2520:22:18【问题描述】:在iOS6中执行此操作的旧方法似乎已被Apple打破。任何人都可以指导我吗?我查看... 查看详情

在oracle中插入表B后创建触发器以将新行添加到表A中时出错

】在oracle中插入表B后创建触发器以将新行添加到表A中时出错【英文标题】:ErrorwhilecreatingtriggerforaddnewrowintotableAafterinsertintableBinoracle【发布时间】:2020-12-1815:05:36【问题描述】:在阅读问题之前,请检查此问题我想创建触发器... 查看详情

当键盘出现在swift中时滚动UITextView

】当键盘出现在swift中时滚动UITextView【英文标题】:ScrollUITextViewwhenkeyboardappearsinswift【发布时间】:2015-03-0405:55:33【问题描述】:我现在面临的问题是UIScrollView中有一个UITextField。当我单击UITextField时,我正在使用UIToolBar显示UIPic... 查看详情

如何将双击手势添加到 UITextView

】如何将双击手势添加到UITextView【英文标题】:howtoadddoubletapgesturetoUITextView【发布时间】:2012-11-2912:35:52【问题描述】:目前我想让UITextView有一个双击手势。UITableView似乎有自己的双击手势,当我们双击时,会选择一些文本。... 查看详情

如何将 UI 对象(图像)添加到 UITextView 或 UITextField?

】如何将UI对象(图像)添加到UITextView或UITextField?【英文标题】:HowtoaddUIObjects(Image)toaUITextVieworUITextField?【发布时间】:2013-07-0512:15:20【问题描述】:我想为UITextField或UITextView实现以下目标。当我们删除文本时,添加到的对象... 查看详情

如何向现有 QTableWidget 添加新行?

】如何向现有QTableWidget添加新行?【英文标题】:HowtoaddnewrowtoexistingQTableWidget?【发布时间】:2011-08-0514:29:23【问题描述】:我的应用是电话簿(教育目的)。当用户打开应用程序时,QTableWidged会填充从.xml文件加载的数据。当用... 查看详情

Power Query:当特定值出现在另一列中时如何将一个添加到列中

】PowerQuery:当特定值出现在另一列中时如何将一个添加到列中【英文标题】:PowerQuery:howtoaddonetoacolumnwhenaspecificvaluesappearinanothercolumn【发布时间】:2020-04-2819:14:31【问题描述】:我有一个ID列,并且我正在寻找每次在我的Geography... 查看详情

当新行添加到数据库时,Twitter 喜欢更新

】当新行添加到数据库时,Twitter喜欢更新【英文标题】:Twitterlikeupdatewhennewrowsareaddedtothedb【发布时间】:2012-12-2623:03:42【问题描述】:我有一个页面,内容是用php和Mysql动态获取的。我使用foreach循环来显示所有内容。foreach($data... 查看详情

每当添加新行时,如何自动增加数据库中的序列号?

】每当添加新行时,如何自动增加数据库中的序列号?【英文标题】:Howtoautoincrementserialnumberindatabasewheneveranewrowisadded?【发布时间】:2017-02-1618:50:40【问题描述】:我有一个包含许多列的表,其中之一是序列号。我的要求是每当... 查看详情

如何将 UITextView 添加到 UITableView 详细信息

】如何将UITextView添加到UITableView详细信息【英文标题】:HowtoAddaUITextViewtoaUITableViewDetail【发布时间】:2012-02-0617:37:02【问题描述】:需要一些帮助来弄清楚如何将一些文本(UITextView?)添加到UITableView详细视图。屏幕截图显示了... 查看详情

UITextView 在 UITableViewCell 内使用新行自动增长

】UITextView在UITableViewCell内使用新行自动增长【英文标题】:UITextViewautogrowingwithnewlineinsideUITableViewCell【发布时间】:2016-09-3010:57:55【问题描述】:我有一个如下图所示的textview,我已将自动布局约束设置为顶部和底部到细线并导... 查看详情

当用户键入时,如何获取输入到 UITextView 中的文本长度?

】当用户键入时,如何获取输入到UITextView中的文本长度?【英文标题】:HowcanIgetthelengthoftextenteredintoUITextViewastheusertypes?【发布时间】:2015-06-0911:51:28【问题描述】:我有一个UITextView。我想有一种方法来更新aUILabel作为用户时间... 查看详情

当 UITextView 大小发生变化时,如何调整 UITableViewCell 的大小?

】当UITextView大小发生变化时,如何调整UITableViewCell的大小?【英文标题】:HowdoImakeaUITableViewCellresizewhenaUITextViewsizechanges?【发布时间】:2019-06-2023:30:06【问题描述】:我遇到了SnapKit问题的自动布局。我在UITableViewCell中添加了一... 查看详情

如何将新行添加到现有的 QTablewidget

】如何将新行添加到现有的QTablewidget【英文标题】:HowcaniaddnewrowtotheexistingQTablewidget【发布时间】:2016-08-2510:36:27【问题描述】:在QTableWidget上获取mouseEvent时出现问题,此代码是用tabelwidget和mouseclickevent创建一个窗口,当我单击... 查看详情

将新的 UITextView 动态添加到 UIscrollView

】将新的UITextView动态添加到UIscrollView【英文标题】:DynamicallyaddingnewUITextViewtoUIscrollView【发布时间】:2014-05-1213:56:21【问题描述】:我没有在我的应用程序中使用滚动视图,并且对其属性也没有什么经验。我希望滚动视图包含一... 查看详情