我目前正在使用UITextView调试我们的应用程序中的一个问题,将其最后几行切断。 UITextView
位于collectionView单元格的内部,该单元格允许自己折叠。我试图在其框架更改时捕获文本隐藏的执行,所以我在-[UITextView setFrame:]
上设置了一个符号断点,并且在设置collectionView期间,这会暂停很多次,如预期的那样。如何在不调用setFrame的情况下改变其框架
然而,当我打的最小化按钮,TextView的的框架以某种方式改变它的起源和高度,但我从来没有得到一个呼叫setFrame:
(或至少我的断点从来没有被击中。)我也从来没有得到一个电话setFrame:
当我展开它时,当原点和高度再次发生变化时。
我调用的直接操作textView的唯一代码是隐藏和取消隐藏它。隐藏后,我再拨打以下:
- (void)updateCollection {
[self.collection performBatchUpdates:nil completion:nil];
[self.amountCell updateTable];
[self.collection setNeedsLayout];
[self.collection layoutIfNeeded];
}
的amountCell
无关我处理的细胞,所以我不认为这有什么与此有关。不知何故,在隐藏UITextView
然后在collectionView上调用一些更新方法之间,框架更改时未实际调用setFrame:
。这怎么可能?该框架如何被操纵?我在这里错过了很明显的东西吗你可能看
是否调用'setBounds:'或'setCenter:'? – dan
完美!根本没有想到'setBounds:'。出于某种原因,我认为最终会调用'setFrame:'。现在,如果我可以找出为什么这样设置我的界限如此怪异....顺便说一句,如果您添加您的评论作为答案,我会接受它,当我被允许。 –