iOS 9 +,Swift 3.0

有三类:


CustomTextField。它可以具有两个状态:errornormal。此类从UIView继承。它有一个stackView。该stackView具有一个UITextField和一个UILabel,如果需要,它们会显示错误。发生错误时的验证和行为将隐藏在此类中。出现错误时,将在stackView中添加UILabel视图,并且其高度会增加。
BaseViewController,它具有一个scrollView。如果出现键盘,它实现了向上滚动视图的行为。
ImplementationViewController。它继承自BaseViewController,并且具有类型CustomTextField的属性。


当用户在ImplementationViewController中点击CustomTextField时,键盘会出现,并且CustomTextField会在键盘上方向上滚动。

当键盘可见时,如果用户键入错误的文本,则错误将从CustomTextField的底部向下滑动。

CustomTextField显示错误时如何以及在何处实现向上滚动视图的行为;并在隐藏错误时向下移动滚动视图?

最佳答案

创建一个协议CustomTextFieldDelegate并在其中添加一个名为InformImplemntation的方法,并在CustomTextField类中声明委托变量

CustomTextField()。delegate = self [ImplementationViewController]

以及是否有错误调用委托方法,以及从BaseViewController继承的ImplementationViewController时,管理是否隐藏/显示键盘

关于ios - 如何以及在何处检测到自定义UIView大小动态更改并相应地调整滚动 View ?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47970484/

10-10 08:43