在 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 的 ②③
-以上-