• ios之UIAlertView


    举例:

    UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Default Alert View"message:@"Defalut" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"OK", nil];


    标准的双按钮,cancel那个buttonIndex 为0, ok button 的buttonIndex为1

     

    UIAlertView *alertView = [[UIAlertView allocinitWithTitle:@"Default Alert View"message:@"Defalut" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"OK",@“ThirdButton”, nil];

    和程序里的顺序一样,cancel   ok   thirdButton 的buttonIndex 分别为0 1 2


    UIAlertView *alertView = [[UIAlertView allocinitWithTitle:@"Default Alert View"message:@"Defalut" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"OK",@“ThirdButton”, nil];

    同理,cancel   ok   thirdButton FourthButton的buttonIndex 分别为0 1 2 3

    [alertView show];

     

    UIAlertView Delegate

    - (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
    alertView--->这个不用多说了吧
    buttonIndex---->从0开始
    可以通过if (buttonIndex == 1) { } 这样的来控制点击了某个按钮需要做什么操作
     
    - (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex
    这个方法在动画结束和视图隐藏之后调用
     
    - (void)alertView:(UIAlertView *)alertView willDismissWithButtonIndex:(NSInteger)buttonIndex
    这个方法在动画开始和视图隐藏之前调用
     
    - (void)alertViewCancel:(UIAlertView *)alertView
    在视图将要被取消之前
    例如,用户点击了home键
    三个函数的调用顺序依次是:
    alertViewCancel----》willDismissWithButtonIndex---》didDismissWithButtonIndex
     
    - (BOOL)alertViewShouldEnableFirstOtherButton(UIAlertView *)alertView
    ios 5+
    设置yes / no  将会设置alertView 的第一个otherButton的enable属性
     
    - (void)didPresentAlertView:(UIAlertView *)alertView
    在视图提交给用户以后调用
     
    -  (void)willPresentAlertView:(UIAlertView *)alertView
    在视图提交给用户以前调用
     
    这六个delegate 方法调用的顺序依次是
    alertViewShouldEnableFirstOtherButton---->willPresentAlertView--->didPresentAlertView
    ---->clickedButtonAtIndex---->(如果会触发视图取消,则会调用alertViewCancel)willDismissWithButtonIndex---->didDismissWithButtonIndex
     
    ios4.0以后 alertView不会自动随着程序转向后台而移除
    alertView属性
    1.alertViewStyle:
    UIAlertViewStyleDefault 只弹信息和按钮
    UIAlertViewStyleSecureTextInput 有一个textfield加密框
    UIAlertViewStylePlainTextInput 有一个不加密的textfield
    UIAlertViewStyleLoginAndPasswordInput 有两个textfield,Login和password
     
    只要有textfield就可以用textfieldAtIndex来捕获并进行相应的操作例如换键盘类型
     
    2.cancelButtonIndex
    开始是0,如果没有设置cancel button 则是-1
     
    3.delegate
    如果没有设置则是nil
     
    4.firstOtherButtonIndex
    从0开始,如果没设置则是-1,而且没被设置则会被忽略
     
    5.message 
    消息
     
    6.numberOfButtons
    只读  alertView中的按钮数量
     
    7.title
    标题
     
    8.visible
    只读  如果是yes 表示被显示
     
    实例方法
    - (NSInteger)addButtonWithTitle:(NSString *)title
    返回值是增加的Button的index
     
    - (NSString *)buttonTitleAtIndex:(NSInteger)buttonIndex
    输入buttonIndex 返回button的标题
     
    - (void)dismissWithClickedButtonIndex:(NSInteger)buttonIndex animated:(BOOL)animated
    程序自动完成点击buttonIndex的button 并dismiss 整个alertView的操作
     
    - (id)initWithTitle:(NSString *)title message:(NSString)message delegate:(id)delegate cancelButtonTitle:(NSString *)cancelButtonTitle otherButtonTitle:(NSString *)otherButtonTitles, ...
    这个就不用多说了
     
    - (void)show
    要显示必须要调用这个alertview才会显示
     
    -  (UITextField *)textfieldAtIndex:(NSInteger)textfieldIndex
    返回值是textfield
    UIAlertViewStyleDefault 没有
    UIAlertViewStyleSecureInput textfieldIndex 只有一个为0
    UIAlertViewStylePlainInput textfieldIndex 只有一个为0
    UIAlertViewStyleLoginAndPasswordInput textfieldIndex有两个 0 1
  • 相关阅读:
    C语言I博客作业06
    C语言I博客作业05
    C语言I博客作业04
    C语言I博客作业02
    C语言II博客作业04
    C语言II博客作业03
    C语言II博客作业02
    C语言II博客作业01
    学期总结
    C语言I博客作业08
  • 原文地址:https://www.cnblogs.com/yulang314/p/3550374.html
Copyright © 2020-2023  润新知