保持UITextField可见性的扩展方法

这是不可避免的-您可以设计一个出色的UI,然后在模拟器或设备上运行它。 您点击一个文本字段,键盘从底部向上猛扑,您看不到正在输入的任何内容。 那里有处理这种情况的框架,还有一种使“自己滚动”的技术-这里还有另外一种收集方法。

扩展名

扩展是扩展类,结构,枚举和协议的好方法,无论您是否有权访问源代码。 这对于隔离协议实现的功能块(例如UITableViewDelegate,CLLocationDelegate)视图控制器实现非常有用。 我亲自采用了这种做法,作为保持源代码干净和可读的一种方法。

扩展在无法访问原始代码的情况下甚至更好。 例如,假设您希望添加wizbang功能,以在每次要使用此新的有尖齿的功能时都无需子类化,强制转换就可以转换代码中的任何String 。 扩展使此操作变得非常简单

入门

通常,如果我将扩展用于UITableDelegate之类的东西,则只需将扩展名添加到与UIViewController相同的源文件中。 当扩展更笼统并且将适用于所有UIViewControllers时,我将扩展代码添加到单独的文件中。

除了将texfield委托输出连接到视图控制器外,我们还需要在视图控制器类中添加两个方法。 这些方法使视图控制器可以根据视图控制器的生命周期为键盘事件注册和注销。 只需两行代码!