Xummer

在 UITextView 中加 UITextField 作为 Header

在 UITextView 中加 UITextField,若不做任何处理,UITextField 成为 firstResponder 后会移动到中间。

之前

点击 UITextField 以后

发现 DayOne 也有这样的结构,

用 reveal 查看 DayOne 后发现它在 TextField 下面加了一层 UIScrollView, 问题解决。

以下只是几种情况的猜测

  1. UITextField 监听subview 的 becomeFirstResponder
    ① UITextField 在 becomeFirstResponder 时传递某个消息 S 到UITextView;
    ② UITextView 接收到这个消息 S,获取 firstResponder 的 UITextField 往 SuperView 递归查找第一个 UIScrollView 或UIScrollView 子类化的 viewA ;
    ③ 重设 viewA 的 contentOffset;

  2. UITextView 监听键盘事件
    ① 获取 firstResponder,然后发送全局的消息 S(NSNotificationCenter;
    ②③ 同 1 的 ②③

-以上-