- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有什么:
带有单元格的 UITableView。该单元格有一个 UITextView 作为 subview 。所有代表和数据源均已正确设置。单元格高度是从 heightForRow 等正确获取的。用户在 textView 中输入文本。
我想做的事情:
我希望单元格在用户键入时更新其高度,而不放弃 textView 作为第一响应者。 stackOverflow 上的许多帖子都说空的 beginUpdates/endUpdates 可以解决这个问题。
我尝试过的:
1-我在textViewDidChange内调用了beginUpdates和endUpdates(对于tableView)。什么都没发生。 (注意:所有代表均已正确设置)。
2-我什至在textViewDidEndEditing中调用了beginUpdates和endUpdates只是为了确保(看看它在textView辞去第一响应者后是否有效)。它有效(当 textView 不再担任firstResponder 时,单元格会调整大小)。
3-然后我尝试在textViewDidChange中重新加载数据。它可以工作,但它会放弃 textView 作为第一响应者(键盘在输入每个字符时消失)。
4-然后我尝试重新加载数据,然后直接告诉textView再次成为FirstResponder(以保持键盘抬起)。它可以工作,但这会导致 TextView 中的光标位置以及自动更正和退格键出现许多问题。
5-然后我尝试了 reloadData,然后当我希望键盘保持打开状态时在 textViewShouldEndEditing 中返回 NO,但由于某种原因,单元格不会更新其高度。
6-最后,我尝试了 reloadRowsAtIndexPaths 等,然后在 textViewShouldEndEditing 中返回 NO,但它给了我一个错误,说它无法删除拒绝 resignFirstResponder 的对象。
我还在textViewDidChange中尝试了reloadInputViews、setNeedsDisplay和setNeedsLayout等方法,但没有任何反应。
我的问题:
在我看来,#2 表明单元格无法更新其高度,而其 subview 之一是firstResponder。是这样吗?有这方面的任何文档吗(我找不到)?
为什么 beginUpdates/EndUpdates 不起作用?是否存在它不起作用的已知或常见情况?我的设置方式可能有问题吗?但调整大小与 #3 和 #4 完美配合(表明我所有的委托(delegate)方法等都设置正确)。
很抱歉问了一个很长的问题,但是除了我发布的想法之外,任何人都可以给出任何想法吗?我有一种感觉,这是我错过的一些非常愚蠢和明显的事情(像往常一样)......
顺便说一句,我同时使用 iOS 模拟器和 5.1 的实际 iPhone
最佳答案
它在我的小演示应用程序中完美运行。请注意,代码获取 textView 委托(delegate)消息,设置应用于每个单元格的 ivar 高度,然后调用开始/结束 - 每个字符按下时单元格都会变大:
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSLog(@"Asked for Height");
return height;
}
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
NSLog(@"Text");
height += 10;
[self.tableView beginUpdates];
[self.tableView endUpdates];
return YES;
}
关于ios - 为什么 beginUpdates 不调整 UITableView 中单元格的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12291887/
我有一个带有静态单元格的表格 View 。单击单元格可切换与此单元格关联的选择器 View 单元格的可见性(更改单元格高度)。单击单元格的 tag 属性维护选择器单元格的状态。动画由一系列 begin
情况(使用 Swift 4.0 & > iOS10.0) 我有一个包含部分和行的 TableView。每个细胞只有一个标签并配置为使其高度适应其标签的高度感谢自动布局。 当一个单元格被点击时,它会显示
我没有找到关于这两种方法之间实际潜在区别的很好解释 Control.SuspendLayout和 BeginUpdate (通常出现在列表控件上,如 ListView 、 ComboBox 、 Lis
在处理字段更新时,我需要卡住(停止重绘)DataGridView。 有没有像BeginUpdate这样的东西来临时卡住DataGridView 最佳答案 最好的选择是使用 Adam Robinson
我正在构建一个 UITableView选择时,单元格会“滑出”下方的附加 View 。为此,我使用 [tableview beginUpdates] 为表格 View 中的行高设置了动画。和 [tab
我有一个错误,就是我在自己身上花费了太多时间。基本上,我正在根据 Apple 文档创建一个“ Accordion ” TableView : https://developer.apple.com/l
我的UITableView需要显示来自服务器的一些图像。 UITableViewCell 由单个 UIImageView 和用于 UIImageView 高度的 NSLayoutConstraint
我在每个单元格中使用一个 UITableView 和一个 UITextView 来增加/减少它的高度以适应键入时的文本。为此,我更新了 -textViewDidChange: 委托(delegate)
我正在使用 UITableView 来显示其中包含 UIWebView 的单元格。当 Web View 完成加载时,我通过调用调整单元格的高度 [self.tableView beginUpdates
我在自定义 UITableViewCell 中有一个 UITextView。在扩展 UITextView 时,我希望 UITextView 下方的 subviews 根据其高度下降并增加行高。为此,我
在我的应用程序中,我使用 tableview.begingUpdates() 为我的 tableviewcell 高度(图像的扩展和碰撞)的变化设置动画。它在 iOS 8.0-9.3 上运行最佳。在
编辑:这个答案的解决方案与 iOS7 有时返回 NSIndexPath 而其他时候返回 NSMutableIndexPath 有关。该问题与 begin/endUpdates 并没有真正相关,但希望该
我正在使用 beginUpdates/endUpdates block 对 tableView 进行更改。在整个过程中,我需要更新投影,以便它反射(reflect) tableView 的当前构图。
我有一个 richTextBox,我用它来执行一些语法突出显示。这是一个小型编辑工具,所以我没有编写自定义语法荧光笔 - 相反,我使用 Regex 并使用 Application.Idle 的事件处理
我编写了一个UserControl,其行为类似于ContainerControl,但完全由WindowsForms 绘制(我继承自UserControl) 我想避免在填充控件时绘制控件,因此我需要编写
我的问题是我需要向 WPF 中的 ListBox 添加很多项。在 WinForms 中,您只需使用 BeginUpdate(); 方法,添加所有内容,最后使用 EndUpdate(); 方法。 那么,
我一直在努力解决扩展 UITextView 这个非常普遍的问题。在不断增长的内部 UITableViewCell的 UITableView除了一件小事,我几乎就到了。 我有一个 UITableView
我有什么: 带有单元格的 UITableView。该单元格有一个 UITextView 作为 subview 。所有代表和数据源均已正确设置。单元格高度是从 heightForRow 等正确获取的。用
我使用典型的组合 CoreData - NSFetchedResultsController - UITableViewController。当我使用时: func controllerWillCha
在 tableView 中,我有一个按钮,按下该按钮会修改其下方单元格的高度,以展开和收缩日期选择器,使其出现和消失。但是,我遇到了一个奇怪的动画错误,选择器在关闭和打开时会波动和闪烁。 这是我的 t
我是一名优秀的程序员,十分优秀!