iOS 9 +,Swift 3.0
有三类:CustomTextField
。它可以具有两个状态:error
和normal
。此类从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/