在 UITextView
中加 UITextField
,若不做任何处理,UITextField
成为 firstResponder
后会移动到中间。
之前
点击 UITextField
以后
发现 DayOne 也有这样的结构,
用 reveal 查看 DayOne 后发现它在 TextField
下面加了一层 UIScrollView
, 问题解决。
以下只是几种情况的猜测
-
UITextField
监听subview
的becomeFirstResponder
①UITextField
在becomeFirstResponder
时传递某个消息 S 到UITextView
;
②UITextView
接收到这个消息 S,获取firstResponder
的UITextField
往SuperView
递归查找第一个UIScrollView
或UIScrollView
子类化的viewA
;
③ 重设viewA
的contentOffset
; -
UITextView
监听键盘事件
① 获取firstResponder
,然后发送全局的消息 S(NSNotificationCenter
;
②③ 同 1 的 ②③
-以上-