• 参考: 提示框:http://blog.csdn.net/gishero/article/details/43941361 提示框自动消失:http://www.cnblogs.com/yeminglong/archive/2013/01/15/2860616.html

    参考:

    提示框:http://blog.csdn.net/gishero/article/details/43941361

    提示框自动消失:http://www.cnblogs.com/yeminglong/archive/2013/01/15/2860616.html

    展开全文
  • 弹出的对话框(UIAlertView)不需要用户点击按钮,可以自动关闭消失,诀窍是利用NSTimer定时器来关闭alertview。 UIAlertView *alert = [[UIAlertView alloc] initWithTitle:nil  message:[@"一个可以
    弹出的对话框(UIAlertView)不需要用户点击按钮,可以自动关闭消失,诀窍是利用NSTimer定时器来关闭alertview。


    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:nil
                                                        message:[@"一个可以自动关闭的Alert窗口"
                                                       delegate:nil
                                              cancelButtonTitle:nil //NSLocalizedString(@"OK", @"OK")   //取消任何按钮
                                              otherButtonTitles:nil];
        //[alert setBounds:CGRectMake(alert.bounds.origin.x, alert.bounds.origin.y, alert.bounds.size.width, alert.bounds.size.height+30.0)];
        [alert show];
         
        UIActivityIndicatorView *indicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
         
        // Adjust the indicator so it is up a few pixels from the bottom of the alert   
        indicator.center = CGPointMake(alert.bounds.size.width/2,  alert.bounds.size.height-40.0);
        [indicator startAnimating];
        [alert insertSubview:indicator atIndex:0];
        [indicator release];
         
        [NSTimer scheduledTimerWithTimeInterval:3.0f
                                         target:self
                                       selector:@selector(dismissAlert:)
                                       userInfo:[NSDictionary dictionaryWithObjectsAndKeys:alert, @"alert", @"testing ", @"key" ,nil]  //如果不用传递参数,那么可以将此项设置为nil.
                                        repeats:NO];
      
        NSLog(@"release alert");
        [alert release];
      
      
    -(void) dismissAlert:(NSTimer *)timer{
         
        NSLog(@"release timer");
        NSLog([[timer userInfo]  objectForKey:@"key"]);
         
        UIAlertView *alert = [[timer userInfo]  objectForKey:@"alert"];
        [alert dismissWithClickedButtonIndex:0 animated:YES];
       
    }
      
      
        //定时器停止使用:
      
            [timer invalidate];
            timer = nil;

    展开全文
  • 自iOS8起,苹果就建议告...下面总结了一些常见的用法(本文代码都已更新至Swift3) 1,简单的应用(同时按钮响应Handler使用闭包函数)   1 2 3 4 5 6 7 8 9 10
    自iOS8起,苹果就建议告警框使用UIAlertController来代替UIAlertView和UIActionSheel。下面总结了一些常见的用法(本文代码都已更新至Swift3

    1,简单的应用(同时按钮响应Handler使用闭包函数)
      
    原文:Swift - 告警提示框(UIAlertController)的用法
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    import UIKit
     
    class ViewControllerUIViewController {
        override func viewDidLoad() {
            super.viewDidLoad()
        }
         
        override func viewDidAppear(_ animated: Bool){
            super.viewDidAppear(animated)
             
            let alertController = UIAlertController(title: "系统提示",
                            message: "您确定要离开hangge.com吗?", preferredStyle: .alert)
            let cancelAction = UIAlertAction(title: "取消", style: .cancel, handler: nil)
            let okAction = UIAlertAction(title: "好的", style: .default, handler: {
                action in
                print("点击了确定")
            })
            alertController.addAction(cancelAction)
            alertController.addAction(okAction)
            self.present(alertController, animated: true, completion: nil)
        }
         
        override func didReceiveMemoryWarning() {
            super.didReceiveMemoryWarning()
        }
    }

    2,除了弹出,还可以使用从底部向上滑出的样式
    (注意:如果上拉菜单中有“取消”按钮的话,那么它永远都会出现在菜单的底部,不管添加的次序是如何)
     
    原文:Swift - 告警提示框(UIAlertController)的用法
    1
    2
    3
    4
    5
    6
    7
    8
    9
    let alertController = UIAlertController(title: "保存或删除数据", message: "删除数据将不可恢复",
                                            preferredStyle: .actionSheet)
    let cancelAction = UIAlertAction(title: "取消", style: .cancel, handler: nil)
    let deleteAction = UIAlertAction(title: "删除", style: .destructive, handler: nil)
    let archiveAction = UIAlertAction(title: "保存", style: .default, handler: nil)
    alertController.addAction(cancelAction)
    alertController.addAction(deleteAction)
    alertController.addAction(archiveAction)
    self.present(alertController, animated: true, completion: nil)

    3,按钮使用“告警”样式(文字颜色变红,用来来警示用户)
      
    原文:Swift - 告警提示框(UIAlertController)的用法
    1
    let okAction = UIAlertAction(title: "好的", style: .destructive, handler: nil)

    4,添加任意数量文本输入框(比如可以用来实现个登陆框)
      
    原文:Swift - 告警提示框(UIAlertController)的用法
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    import UIKit
     
    class ViewControllerUIViewController {
        override func viewDidLoad() {
            super.viewDidLoad()
        }
         
        override func viewDidAppear(_ animated: Bool){
            super.viewDidAppear(animated)
             
            let alertController = UIAlertController(title: "系统登录",
                                message: "请输入用户名和密码", preferredStyle: .alert)
            alertController.addTextField {
                (textField: UITextField!) -> Void in
                textField.placeholder = "用户名"
            }
            alertController.addTextField {
                (textField: UITextField!) -> Void in
                textField.placeholder = "密码"
                textField.isSecureTextEntry = true
            }
            let cancelAction = UIAlertAction(title: "取消", style: .cancel, handler: nil)
            let okAction = UIAlertAction(title: "好的", style: .default, handler: {
                action in
                //也可以用下标的形式获取textField let login = alertController.textFields![0]
                let login = alertController.textFields!.first!
                let password = alertController.textFields!.last!
                print("用户名:\(login.text) 密码:\(password.text)")
            })
            alertController.addAction(cancelAction)
            alertController.addAction(okAction)
            self.present(alertController, animated: true, completion: nil)
        }
         
        override func didReceiveMemoryWarning() {
            super.didReceiveMemoryWarning()
        }
    }

    5,使用代码移除提示框
    1
    self.presentedViewController?.dismiss(animated: false, completion: nil)

    6,提示框弹出后,过段时间自动移除
    下面样例弹出一个不带按钮的消息提示框,过个两秒钟提示框自动消失。
    原文:Swift - 告警提示框(UIAlertController)的用法
    1
    2
    3
    4
    5
    6
    7
    8
    let alertController = UIAlertController(title: "保存成功!",
                                            message: nil, preferredStyle: .alert)
    //显示提示框
    self.present(alertController, animated: true, completion: nil)
    //两秒钟后自动消失
    DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 2) {
        self.presentedViewController?.dismiss(animated: false, completion: nil)
    }

    原文出自:www.hangge.com  转载请保留原文链接:http://www.hangge.com/blog/cache/detail_651.html
    展开全文
  • 告警提示框(消息提示框)在 App 开发中肯定少不了,除了简单地用来显示提示信息外,有时也会作为一些具有交互功能的选择对话框、输入...本文介绍一个优秀的第三方 Alert 组件:SCLAlertView。 一、安装配置
    告警提示框(消息提示框)在 App 开发中肯定少不了,除了简单地用来显示提示信息外,有时也会作为一些具有交互功能的选择对话框、输入对话框。通常情况下,我们会使用 iOS 自带的 UIAlertController 组件来实现。
    虽然 UIAlertController 使用方便,但样式、功能都有限。本文介绍一个优秀的第三方 Alert 组件:SCLAlertView

    一、安装配置

    (1)从 GitHub 上下载最新的代码:https://github.com/vikmeup/SCLAlertView-Swift
    (2)将下载下来的源码包中 SCLAlertView.xcodeproj 拖拽至你的工程中。
    原文:Swift - 第三方Alert弹出框组件(SCLAlertView)使用详解

    (3)工程 -> General -> Embedded Binaries 项,把 SCLAlertView.framework 添加进来。
    原文:Swift - 第三方Alert弹出框组件(SCLAlertView)使用详解

    (4)最后,在需要使用 SCLAlertView 的地方 import 进来就可以了。
    1
    import SCLAlertView

    二、基本用法

    1,简单的使用样例

    (1)效果图
    点击按钮后在页面上弹出个普通的消息提示框。
    原文:Swift - 第三方Alert弹出框组件(SCLAlertView)使用详解

    (2)样例代码
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    import UIKit
    import SCLAlertView
     
    class ViewControllerUIViewController {
     
        override func viewDidLoad() {
            super.viewDidLoad()
        }
     
        @IBAction func showInfo(_ sender: Any) {
            //弹出普通消息提示框
            SCLAlertView().showInfo("这个是标题", subTitle: "这个是普通消息提示框正文内容。")
        }
         
        override func didReceiveMemoryWarning() {
            super.didReceiveMemoryWarning()
        }
    }

    2,自带的消息框样式

    除了上面用到的普通消息提示框,SCLAlertView 默认提供如下 7 种不同类别的提示框(分别用不同的颜色和图标表示),我们可以根据不同的场景和通知类型选择相应的样式。
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    //普通消息提示框
    SCLAlertView().showInfo("这个是标题", subTitle: "这个是普通消息提示框正文内容。")
     
    //编辑消息提示框
    SCLAlertView().showEdit("这个是标题", subTitle: "这个是编辑消息提示框正文内容。")
     
    //通知消息提示框
    SCLAlertView().showNotice("这个是标题", subTitle: "这个是通知消息提示框正文内容。")
     
    //警告提示框
    SCLAlertView().showWarning("这个是标题", subTitle: "这个是警告提示框正文内容。")
     
    //错误提示框
    SCLAlertView().showError("这个是标题", subTitle: "这个是警告提示框正文内容。")
             
    //成功提示框
    SCLAlertView().showSuccess("这个是标题", subTitle: "这个是成功提示框正文内容。")
             
    //等待提示框
    SCLAlertView().showWait("这个是标题", subTitle: "这个等待提示框正文内容。")

    效果图如下:
    原文:Swift - 第三方Alert弹出框组件(SCLAlertView)使用详解 原文:Swift - 第三方Alert弹出框组件(SCLAlertView)使用详解
    原文:Swift - 第三方Alert弹出框组件(SCLAlertView)使用详解 原文:Swift - 第三方Alert弹出框组件(SCLAlertView)使用详解
    原文:Swift - 第三方Alert弹出框组件(SCLAlertView)使用详解 原文:Swift - 第三方Alert弹出框组件(SCLAlertView)使用详解
    原文:Swift - 第三方Alert弹出框组件(SCLAlertView)使用详解

    3,修改关闭按钮文字

    默认情况下,消息框下方的完成(关闭)按钮的标题是“Done”,我们可以通过方法第 3 个参数(closeButtonTitle)修改成其它的。
    1
    2
    3
    //成功提示框
    SCLAlertView().showSuccess("这个是标题", subTitle: "这个是成功提示框正文内容。",
                               closeButtonTitle: "确定")

    效果图如下:
    原文:Swift - 第三方Alert弹出框组件(SCLAlertView)使用详解

    4,原始的消息弹出方法(showTitle)

    不管是 showInfo() 也好,showError() 也好,它们内部实际上调用的都是 showTitle() 方法。只不过在它们内部通过传递不同的图片和颜色,从而显示出不同的样式。

    (1)我们也可以直接使用 showTitle() 显示一个自定义的弹出框,代码如下:
    1
    2
    3
    4
    5
    SCLAlertView().showTitle("邮件发送成功", subTitle: "我们将在10个工作日内给您回复。",
                             timeout: nil, completeText: "确定", style: .info,
                             colorStyle: 0xffae3e, colorTextButton: 0xFFFFFF,
                             circleIconImage: UIImage(named: "email.png"),
                             animationStyle: .topToBottom)

    (2)效果图如下:
    原文:Swift - 第三方Alert弹出框组件(SCLAlertView)使用详解

    5,提示框出现的动画效果

    从上面的样例代码中我们发现有一个叫做 animationStyle 的参数,这个是用来控制提示框是以何种动画形式出现。默认是从上往下出现的,我们可以修改成如下其它值:
    • noAnimation:没有动画效果
    • topToBottom:从上往下出现
    • bottomToTop:从下往上出现 
    • leftToRight:从左往右出现
    • rightToLeft:从右往左出现

    6,动态修改提示框内容

    提示框弹出后,我们可以通过其返回的 SCLAlertViewResponder 对象来修改提示框内部的标题以及正文内容。
    1
    2
    3
    4
    5
    6
    //显示等待提示框
    let alertViewResponder = SCLAlertView().showWait("这个是标题", subTitle: "这个是正文内容。")
             
    //修改提示框内容
    alertViewResponder.setTitle("修改标题")
    alertViewResponder.setSubTitle("修改正文内容")

    7,使用代码关闭提示框

    提示框弹出后,除了通过点击提示框上的按钮来关闭提示框外。我们还可以在代码中通过其返回的 SCLAlertViewResponder 对象的 close() 方法对其关闭。
    1
    2
    3
    4
    5
    //显示等待提示框
    let alertViewResponder = SCLAlertView().showWait("这个是标题", subTitle: "这个是正文内容。")
             
    //关闭提示框
    alertViewResponder.close()

    三、高级用法

    1,修改字体样式

    下面我们通过自定义外观样式(放大标题文字,缩小正文文字、按钮文字加粗)来实现一个自定义的提示框组件并使用。
    原文:Swift - 第三方Alert弹出框组件(SCLAlertView)使用详解
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    //自定义提示框样式
    let appearance = SCLAlertView.SCLAppearance(
        kTitleFont: UIFont(name: "HelveticaNeue", size: 22)!, //标题文字字体
        kTextFont: UIFont(name: "HelveticaNeue", size: 12)!,  //正文文字字体
        kButtonFont: UIFont(name: "HelveticaNeue-Bold", size: 14)!  //按钮文字字体
    )
     
    //使用自定义样式的提示框
    let alert = SCLAlertView(appearance: appearance)
             
    //显示提示框
    alert.showInfo("这个是标题", subTitle: "这个是普通消息提示框正文内容。")

    2,隐藏关闭按钮

    原文:Swift - 第三方Alert弹出框组件(SCLAlertView)使用详解
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    //自定义提示框样式
    let appearance = SCLAlertView.SCLAppearance(
        showCloseButton: false //不显示关闭按钮
    )
     
    //使用自定义样式的提示框
    let alert = SCLAlertView(appearance: appearance)
             
    //显示提示框
    alert.showInfo("这个是标题", subTitle: "这个是普通消息提示框正文内容。")

    3,等待一段时间自动关闭提示框

    这个常常与上面的隐藏关闭按钮相结合使用,比如提示用户操作成功,但不需要用户手动去关闭这个提示框,它显示个 3 秒钟会自动消失。
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    //自定义提示框样式
    let appearance = SCLAlertView.SCLAppearance(
        showCloseButton: false //不显示关闭按钮
    )
     
    //使用自定义样式的提示框
    let alert = SCLAlertView(appearance: appearance)
     
    //显示提示框(3秒后自定关闭)
    let timeout = SCLAlertView.SCLTimeoutConfiguration(timeoutValue: 3) {
        print("提示框自动关闭了")
    }
    alert.showInfo("这个是标题", subTitle: "这个是普通消息提示框正文内容。", timeout: timeout)


    4,添加多个按钮

    有时我们提示框仅仅有个关闭按钮还不够,可能还需要再增加一个或多个按钮,这样程序就能根据用户点击的按钮执行不同的业务逻辑。
    原文:Swift - 第三方Alert弹出框组件(SCLAlertView)使用详解
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    let alertView = SCLAlertView()
    alertView.addButton("第一个按钮", target:self, selector:#selector(firstButtonTapped))
    alertView.addButton("第二个按钮") {
        print("第二个按钮点击")
    }
    alertView.showSuccess("这个是标题", subTitle: "下面添加了多个按钮", closeButtonTitle: "取消")
             
             
    //第一个按钮点击事件相应
    func firstButtonTapped() {
        print("第一个按钮点击")
    }

    5,隐藏头部图标

    默认情况下在提示框头部会有一个突出的圆形图标,我们可以将其隐藏。
    原文:Swift - 第三方Alert弹出框组件(SCLAlertView)使用详解
    1
    2
    3
    4
    5
    6
    7
    8
    //自定义提示框样式
    let appearance = SCLAlertView.SCLAppearance(
        showCircularIcon: false  //隐藏头部图标
    )
     
    //使用自定义样式的提示框
    let alertView = SCLAlertView(appearance: appearance)
    alertView.showSuccess("这个是标题", subTitle: "这个是提示框正文内容。")

    6,修改头部图标

    下面将提示框头部的图标替换成一个邮件图片。
    原文:Swift - 第三方Alert弹出框组件(SCLAlertView)使用详解
    1
    2
    3
    let alertViewIcon = UIImage(named: "email.png")
    SCLAlertView().showSuccess("这个是标题", subTitle: "这个是提示框正文内容。",
                               circleIconImage: alertViewIcon)

    7,添加文本输入框

    下面样例中我们在提示框内部添加两个文本输入框,分别用来填写用户名和密码。当点击“确定”按钮后,会将填写的内容打印到控制台上。
    原文:Swift - 第三方Alert弹出框组件(SCLAlertView)使用详解
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    let alert = SCLAlertView()
     
    //添加第一个输入框
    let textField1 = alert.addTextField("用户名")
    //添加第二个输入框
    let textField2 = alert.addTextField("密码")
    textField2.isSecureTextEntry = true
     
    alert.addButton("确定") {
        print(textField1.text!, textField2.text!)
    }
    alert.showEdit("登录", subTitle: "请输入用户名和密码", closeButtonTitle: "取消")

    8,添加自定义视图

    除了往提示框中添加按钮、文本输入框外,我们还可以创建任意的自定义 View 作为提示框的内容显示。
    下面样例中我们在提示框的内部显示一个日期选择控件,同时点击“确定”按钮还会将选择的日期打印到控制台中。
    原文:Swift - 第三方Alert弹出框组件(SCLAlertView)使用详解
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    let alert = SCLAlertView()
     
    //创建日期选择器
    let datePicker = UIDatePicker(frame: CGRect(x:0, y:0, width:236, height:150))
    //将日期选择器区域设置为中文,则选择器日期显示为中文
    datePicker.locale = Locale(identifier: "zh_CN")
    //只有日期选择
    datePicker.datePickerMode = .date
    //将日期选择器作为提示框的自定义视图
    alert.customSubview = datePicker
     
    //添加确定按钮
    alert.addButton("确定", backgroundColor: UIColor.brown, textColor: UIColor.yellow) {
        let formatter = DateFormatter()
        formatter.dateFormat = "yyyy年MM月dd日"
        print(formatter.string(from: datePicker.date))
    }
     
    alert.showInfo("请选择日期", subTitle: "", closeButtonTitle: "取消")

    四、所有的自定义样式

    从上一个小节中我们可以知道,通过 SCLAlertView.SCLAppearance 配置我们可以自定义提示框中各个元素的样式。当然 SCLAlertView.SCLAppearance 里可配的属性远远不止这些,下面列出所有属性,大家可以选择使用。

    1,按钮(Button )相关

    1
    2
    3
    4
    kButtonFont: UIFont  //按钮字体
    buttonCornerRadius : CGFloat  //按钮圆角
    showCloseButton: Bool  //是否显示关闭按钮
    kButtonHeight: CGFloat  //按钮高度

    2,图标(Circle Image)相关

    1
    2
    3
    4
    5
    showCircularIcon: Bool  //是否显示图标
    kCircleTopPosition: CGFloat  //圆形头部位置
    kCircleBackgroundTopPosition: CGFloat  //圆形背景头部位置
    kCircleHeight: CGFloat  //圆形高度尺寸
    kCircleIconHeight: CGFloat  //图标高度尺寸

    3,文字(Text)相关

    1
    2
    3
    4
    5
    6
    7
    kTitleFont: UIFont  //标题文字字体
    kTitleTop:CGFloat  //标题文字位置
    kTitleHeight:CGFloat  //标题文字高度
    kTextFont: UIFont  //内容文字字体
    kTextHeight: CGFloat  //内容文字高度
    kTextFieldHeight: CGFloat  //文本输入框高度
    kTextViewdHeight: CGFloat  //文本视图高度

    4,整个提示框相关

    1
    2
    3
    4
    5
    6
    7
    kDefaultShadowOpacity: CGFloat  //提示框显示时后面的阴影遮罩背景透明度
    kWindowWidth: CGFloat  //提示框宽度
    kWindowHeight: CGFloat  //提示框高度
    shouldAutoDismiss: Bool //点击按钮后是否自动关闭提示框
    fieldCornerRadius : CGFloat  //文本输入框圆角
    contentViewCornerRadius : CGFloat  //内容视图圆角
    disableTapGesture: Bool //是否禁用手势(如果我们添加了一个tableview作为子视图,可以将该属性设为true)

    原文出自:www.hangge.com  转载请保留原文链接:http://www.hangge.com/blog/cache/detail_1672.html
    展开全文
  • UIAlertView的消失本质其实是触发了一个dismiss事件。 触发这个事件有以下两种方法: 1.按钮点击,UIAlertView上如果有... ... [AlertObject dismissWithClickedButtonIndex:0 animated:NO] ...创建一个自动消失的UIAle

    UIAlertView的消失本质其实是触发了一个dismiss事件。

    触发这个事件有以下两种方法:

    1.按钮点击,UIAlertView上如果有按钮,点击任何按钮都会触发该事件,UIAlertView消失;

    2.代码模拟点击

    [AlertObject dismissWithClickedButtonIndex:0 animated:NO]


    1。创建一个自动消失的UIAlertView,这种消失方法的本质其实就是:使用定时器+代码模拟点击

    -(void) performDismiss:(NSTimer *)timer
    {
    [Alert dismissWithClickedButtonIndex:0 animated:NO];
    [Alert release];
    }
    
    -(void)presentAlert
    {
    Alert = [[UIAlertView alloc] initWithTitle:@"警告" message:@"出错啦!" delegate:self cancelButtonTitle:nil otherButtonTitles:nil, nil];
    
    [NSTimer scheduledTimerWithTimeInterval:2.0f target:self selector:@selector(performDismiss:) userInfo:nil repeats:NO];
    [Alert show];
    }

    2.手动消失

    如果你的UIAlertView上有按钮的话,点击任何一个按钮,都会触发一个dismiss事件,引起UIAlertView的消失。

    3.自定制的消失,其实就是在自己认为合适的时候模拟点击。

    下面这个例子是在textField的delegate执行即点击returnKey且输入昵称合法的时候,UIAlertView消失。

    - (void) enterNickName:(NSString*)msg
    {
    prompt = [[UIAlertViewalloc] initWithTitle:@"设置昵称"
    message:msg
    delegate:self
    cancelButtonTitle:nil
    otherButtonTitles:nil];
    
    UITextField *textField = [[UITextFieldalloc] initWithFrame:CGRectMake(27.0,70.0, 230.0, 30.0)];
    [textField setBackgroundColor:[UIColorwhiteColor]];
    [textField setPlaceholder:@"输入昵称"];
    textField.layer.cornerRadius=6.0;
    textField.delegate=self;
    textField.contentVerticalAlignment=UIControlContentVerticalAlignmentCenter;
    [prompt addSubview:textField];
    [textField becomeFirstResponder];
    textField.keyboardType=UIKeyboardTypeDefault;
    textField.keyboardAppearance=UIKeyboardAppearanceDefault;
    textField.returnKeyType=UIReturnKeyDone;
    [textField release];
    [promptsetTransform:CGAffineTransformMakeTranslation(0.0, -40.0)]; //可以调整弹出框在屏幕上的位置
    [prompt show];
    }
    
    #pragma textField delegate
    - (BOOL)textFieldShouldReturn:(UITextField *)textField
    {
    NSLog(@"nickname=%@",textField.text);
    if (nil==textField.text ||0==[[textField.textstringByTrimmingCharactersInSet:[NSCharacterSetwhitespaceCharacterSet]] length])
    {
    prompt.message=@"\n\n昵称不能为空!";
    return YES;
    }
    if ([[textField.textstringByTrimmingCharactersInSet:[NSCharacterSetwhitespaceCharacterSet]] length]<2
    ||[[textField.textstringByTrimmingCharactersInSet:[NSCharacterSetwhitespaceCharacterSet]] length]>15)
    {
    prompt.message=@"\n\n昵称只支持2-15个字,请重新设置";
    return YES;
    }
    [prompt dismissWithClickedButtonIndex:0animated:NO];//触发dismiss
    [prompt release];
    }




    展开全文
  • 前几天写的代码一直没有更新到博客,今天做了点点整理
  • 在app制作过程中,需要使用到提示框自动消失的功能,下面写出一种我常使用的方法: UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"提示" message:@"提示信息" preferredStyle:...
  • -(void) dismissAlert:(NSTimer *)timer{ NSLog(@"release timer");... UIAlertView *alert = [[timer userInfo] objectForKey:@"alert"]; [alert dismissWithClickedButtonIndex:0 animated:YES]
  • 自动消失的思路就是添加一个计时器,设置计时器的时间,让UIAlertController 通过dismiss消失 UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"提示" message:@"没有上一部了" ...
  • UIAlertView的消失本质其实是触发了一个dismiss事件。 触发这个事件有以下两种方法: 1.按钮点击,UIAlertView上如果有... ... ...[AlertObject dismissWithClickedButtonIndex:0 animated:NO] ...创建一个自动消失的UIAlertV
  • swift3.0提示框新用法

    2017-03-16 10:12:52
    var alert: UIAlertController!    alert = UIAlertController(title: "提示", message: "添加照片", preferredStyle: UIAlertControllerStyle.actionSheet)    
  • iOS默认的presentViewController的切换动画是从底部推入,消失是从顶部推出。但是,因为iOS系统默认的是适配所有转场上下文的。而针对特定的转场上下文,我们能做出更好的效果。 Tips:所谓的转场上下文,就是转场...
  • 写在前面最近一直使用 Swift 进行开发,以前写的录制视频的例子也不能用了,所以就想着再写一个。然后在网上找到不少很详细的教程,我就选了个最简单的一个手动写了一份,也便于以后用到的时候可以回头看看。毕竟这...
  • ios:UIAlertView自动消失

    2012-10-22 15:15:26
    但是这些提示的信息有时候只需提示就行,不用操作,那么此时就要这个提示框自动消失就OK了。 UIAlertView弹出后2s让其自动消失,两种方法: (1)结合NSTimer  定义UIAlertView *baseAlert;  - (void) ...
  • 3.必须明确指定关闭自动测试,测试完成或中断都不会自动关闭测试。4.测试也是根据视图树的元素位置获取元素进行测试,根视图元素是UIATarget。二、部分功能说明: 1.获取当前程序(在激活状态):UIATarget....
  • 资料1 ---教程类 官方文档中文翻译http://wiki.jikexueyuan.com/project/swift/Github上的地址点我 Using Swift with Cocoa and Objective-C ...Swift 开源及跨平台开发swift.org 斯坦福课程Stanford Un
  • swift 提示框大全

    2018-04-04 00:31:26
    常规提示框(显示位置在中间) let alertController = UIAlertController(title:"...,preferredStyle: .alert); let canceAction = UIAlertAction(title:"取消",style:.cancel,handler:nil); l...
  • Swift学习资料@SwiftGuide很赞 的Swift学习资料leetcode一个练习、评估自己水平的代码平台,跟ACM有点类似完整App@Swift 30 Projects- 最新 Swift 3.0 的30个小App,更注重代码规范和架构设计(故胤道长)V2ex-Swift- ...
  • Swift开发中,如果我们需要保持客服端和服务器的长连接进行双向的数据通信,使用socket是一种很好的解决方案。 下面通过一个聊天室的样例来演示socket通信,这里我们使用了一个封装好的socket库(SwiftSocket)。...
1 2 3 4 5 ... 20
收藏数 577
精华内容 230