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];
    }

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



    无论生活、还是技术,一切都不断的学习和更新~~~努力~
  • 相关阅读:
    bzoj3751 / P2312 解方程
    P1270 “访问”美术馆(树形dp)
    [bzoj1085][SCOI2005]骑士精神
    [bzoj1208][HNOI2004]宠物收养所
    [bzoj1196][HNOI2006]公路修建问题
    [bzoj1093][ZJOI2007]最大半连通子图
    [bzoj1103][POI2007]大都市meg
    [Apio2009][bzoj1179]Atm
    [bzoj1191][HNOI2006]超级英雄Hero
    [bzoj2458][BeiJing2011]最小三角形
  • 原文地址:https://www.cnblogs.com/GoGoagg/p/2055382.html
Copyright © 2011-2022 走看看