UITextFieldDelegate协议中各个方法的作用
控制当前输入框是否能被编辑
- ( BOOL )textFieldShouldBeginEditing:( UITextField *)textField
当输入框开始时触发 ( 获得焦点触发
)
- ( void )textFieldDidBeginEditing:( UITextField
*)textField
询问输入框是否可以结束编辑 ( 键盘是否可以收回
)
- ( BOOL )textFieldShouldEndEditing:( UITextField
*)textField
当前输入框结束编辑时触发 ( 键盘收回之后触发 )
- ( void )textFieldDidEndEditing:( UITextField *)textField
当输入框文字发生变化时触发 ( 只有通过键盘输入时 , 文字改变 , 触发 )
- ( BOOL )textField:( UITextField *)textField shouldChangeCharactersInRange:( NSRange )range replacementString:( NSString *)string
控制输入框清除按钮是否有效 (yes, 有 ;no, 没有
)
- ( BOOL )textFieldShouldClear:( UITextField
*)textField
控制键盘是否回收- ( BOOL )textFieldShouldReturn:( UITextField
*)textField
UI中AppDelegate.m中自动生成各个方法的作用
当应用程序加载完成时触发
- ( BOOL )application:( UIApplication *)application didFinishLaunchingWithOptions:( NSDictionary *)launchOptions
当应用程序将要取消活跃状态时触发
- ( void )applicationWillResignActive:( UIApplication *)application
当前应用程序已经进入后台时触发 ( 应用程序在后台挂起
)
- ( void )applicationDidEnterBackground:( UIApplication
*)application
当应用程序将要进入前台时触发 ( 程序将要成为活跃状态时触发
)
- ( void )applicationWillEnterForeground:( UIApplication
*)application
应用程序已经是活跃状态 ( 当前正在运行 )
- ( void )applicationDidBecomeActive:( UIApplication *)application
应用程序将要结束时触发
- ( void )applicationWillTerminate:( UIApplication
*)application
各个方法执行顺序的例子
如例,手机正在运行一个程序时,突然来电话
当有电话进入时程序流程 :applicationWillResignActive:
1. 拒绝时
应用程序状态 : applicationDidBecomeActive:
2. 接通电话
应用程序状态
: applicationDidEnterBackground:
处理屏幕旋转时常用方法
当对视图控制器的 view 重新布局时 , 触发
- ( void )viewWillLayoutSubviews
用来设置当前视图控制器 ,
是否支持旋转
- ( BOOL
)shouldAutorotate
设置屏幕旋转的方向 , 支持三个方向 , 竖直方向 , 左横屏 , 右横屏
- ( NSUInteger )supportedInterfaceOrientations