我有一个tableview,每个都有2个uitextviews。当我选择一个textview时,插入符号会从视图中移出,输入文本时我只会看到底部。这仅在我第一次选择文本视图时发生。 textview只是alloc / inited,并作为子视图添加到单元格的contentView,没有设置委托或其他属性。
它只发生在我首先选择的textview上,所以如果我选择第一个textview,那么第二个只有第一个textview改变了它的contentOffset。
我观察(使用KVO)textviews的contentOffset属性,当我开始编辑textview时,我得到了这个堆栈跟踪:
0 MyApp 0x0006c887 -[PostTableViewController observeValueForKeyPath:ofObject:change:context:] + 87
1 Foundation 0x00aad1e4 NSKeyValueNotifyObserver + 361
2 Foundation 0x00aacca6 NSKeyValueDidChange + 384
3 Foundation 0x00a933e2 -[NSObject(NSKeyValueObserverNotification) didChangeValueForKey:] + 123
4 UIKit 0x00d6f95e -[UIScrollViewScrollAnimation setProgress:] + 523
5 UIKit 0x00dd8234 -[UIAnimator(Static) _advance:] + 255
6 GraphicsServices 0x01d653a3 HeartbeatTimerCallback + 35
7 CoreFoundation 0x015638c3 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 19
8 CoreFoundation 0x01564e74 __CFRunLoopDoTimer + 1220
9 CoreFoundation 0x014c12c9 __CFRunLoopRun + 1817
10 CoreFoundation 0x014c0840 CFRunLoopRunSpecific + 208
11 CoreFoundation 0x014c0761 CFRunLoopRunInMode + 97
12 GraphicsServices 0x01d621c4 GSEventRunModal + 217
13 GraphicsServices 0x01d62289 GSEventRun + 115
14 UIKit 0x00d3fc93 UIApplicationMain + 1160
15 MyApp 0x00002389 main + 121
16 MyApp 0x00002255 start + 53
它显示有一些动画正在发生,但我无法在任何地方找到它,有没有办法看到什么启动动画,超出计时器(我猜有一些计时器)。
这发生在4.3模拟器上,5.0模拟器正在运行,而我目前无法访问运行4.3的设备。
如何解决文本消失在textview上方的问题(虽然它更像是textview的框架自身向上移动)?