点击UITextFiled跳转的bug记录

workStation.png
通过collectionView实现整个页面
  1. 顶部轮播banner通过contentInSet设置
    底部模块由collectionView的section, header, footer组成
  2. 顶部轮播上层添加了textField控件: 不随轮播滚动, 点击textField即跳转到另外控制器
bug描述

点击textField后, 在跳转到另外控制器之前, 当前页面先向下偏移

解决思路
  1. 尝试在顶部轮播上层以同样方式在同一位置添加一个button, 实现点击button跳转到另外控制器, 发现当前页面并不会向下偏移
  2. 因此将问题范围锁定在textFiled上
  3. 既然是跳转之前当前页面先向下偏移, 那么尝试将跳转控制器的代码注释掉, 发现了问题: 点击textField, 当前页面会弹起键盘同时页面向下偏移
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
    //跳转控制器
    return YES;
}
  1. 因此, 点击textFiled时不让键盘弹出即可.
  2. 直接将上面的textFiledDelegate方法 return No即可.
    根据苹果头文件的注释: // return NO to disallow editing.

你可能感兴趣的:(点击UITextFiled跳转的bug记录)