zoukankan      html  css  js  c++  java
  • 提示(警告)视图的简单应用

    Pdf版P101和103涉及的例子进行学习

    创建一个警告,具体代码只有如下:
    - (void) presentSheet
    {
    UIAlertView
    *baseAlert = [[UIAlertView alloc]
    initWithTitle:
    @"Alert" message:@""
    delegate:self cancelButtonTitle:nil
    otherButtonTitles:
    @"OK", nil];
    [baseAlert show];
    }


    类学习

    UIAlertView类

    继承UIView

    Use the UIAlertView class to display an alert message to the user. An alert view functions similar to but differs in appearance from an action sheet (an instance of UIActionSheet).

    使用UIAlertView类显示警告信息给用户看。警告视图函数类似但不同于从动作表上的呈现(UIActionSheet实例)

    属性:
    delegate
    title
    message
    visible

    //这里可以看出在init方法调用的参数部分可以由属性来设置

    cancelButtonIndex:-1表示未设置.
    firstOtherButtonIndex:此属性只读
    numberOfButtons:按钮个数,只读

    方法:
    – initWithTitle:message:delegate:cancelButtonTitle:otherButtonTitles:
    – show

    – addButtonWithTitle:通过所给标题添加按钮
    – buttonTitleAtIndex:返回指定索引下的按钮标题

    – dismissWithClickedButtonIndex:animated:清除接收器,动画可选

    针对UIAlertView视图类如何响应按钮触发?
    这里要用到
    UIAlertViewDelegate Protocol

    此协议接口定义UIAlertView对象委托需要执行的方法

    Responding to Actions
        – alertView:clickedButtonAtIndex:当用户在警告视图点击按钮时发送给委托处理并响应
    Customizing Behavior
        – willPresentAlertView:警告视图呈现给用户前发送给委托
        – didPresentAlertView:警告视图呈现给用户后发送给委托
        – alertView:willDismissWithButtonIndex:在警告视图清除前发送给委托
        – alertView:didDismissWithButtonIndex:在警告视图从屏幕离开后发送给委托
    Canceling
        – alertViewCancel:在警告视图中止前发送给委托

    整体来说,警告视图类的方法和触发事件都非常简单
    在写触发事件时需要继承<UIAlertViewDelegate>协议接口

    /************************************************************/
    后续一例子:自动计时无按钮警告
    这个例子咋看是一个新的东西,仔细阅读下代码,就是使用NSTimer和UIAlertView
    注意两个地方:
    1、创建警告视图的时候,不要添加Button
    2、Timer关闭警告视图的时候,设置Repeat参数=No
    参看代码:
    - (void) performDismiss: (NSTimer *)timer
    {
    [baseAlert dismissWithClickedButtonIndex:
    0 animated:NO];
    [baseAlert release];
    baseAlert
    = NULL;
    }

    - (void) presentSheet
    {
    baseAlert
    = [[UIAlertView alloc]
    initWithTitle:
    @"Alert" message:@"\nMessage to user with asynchronous information"
    delegate:self cancelButtonTitle:nil
    otherButtonTitles: nil];
    //注意cancelButtonTitle和otherButtonTitles都nil
    [NSTimer scheduledTimerWithTimeInterval:3.0f
    target:self
    selector: @selector(performDismiss:)
    userInfo:nil repeats:NO];
    //注意repeats:NO
    [baseAlert show];
    }

    故:多思多实践,多阅读多动手~



    无论生活、还是技术,一切都不断的学习和更新~~~努力~
  • 相关阅读:
    迎战智能手机时代,芯片厂商谁能笑到最后?
    古老Ubuntu 安装 EDB 的奇葩旅程
    今天做了一个很糟糕的storage and buffer manager
    android 数据库SQL 框架例子
    关于VS2008编译错误"error LNK2005: 已经在 .obj 中定义"
    ListActivity源码分析
    最优非对称加密填充(OAEP)
    EVP_DigestInit(3)源码解析
    Java EE学习笔记(1:Servlet & JSP)
    Servlet
  • 原文地址:https://www.cnblogs.com/GoGoagg/p/2055382.html
Copyright © 2011-2022 走看看