• 1、使用UIAlertView:  override func viewDidLoad() { super.viewDidLoad() self.view.backgroundColor = UIColor.whiteColor() var showAlertBtn = UIButton(frame: CGRectMake(10, 50, 150,
    1、使用UIAlertView:

     override func viewDidLoad() {

            super.viewDidLoad()

            self.view.backgroundColor = UIColor.whiteColor()

            var showAlertBtn = UIButton(frame: CGRectMake(10, 50, 150, 20))

            showAlertBtn.backgroundColor = UIColor(red: 1.0, green: 0.6, blue: 0.2, alpha: 1.0)

            showAlertBtn.setTitle("ShowAlertView", forState: UIControlState.Normal)

            showAlertBtn.addTarget(self, action: "showAlert", forControlEvents: UIControlEvents.TouchUpInside)

            self.view.addSubview(showAlertBtn)

        }

      

        func showAlert(){

            var alert = UIAlertView(title: "提示", message: "小心身后", delegate: self, cancelButtonTitle: "确定")

            alert.alertViewStyle = UIAlertViewStyle.Default

            alert.show()

        }

    swift学习之弹出提示框的几种方式 - 1015507827 - 丁MCswift学习之弹出提示框的几种方式 - 1015507827 - 丁MC
      
    阅读(1771)| 评论(0)
    展开全文
  • swift 自定义弹窗

    2019-08-19 16:12:45
    在项目中,有的时候需要用到一些特殊的弹窗,并在弹窗上添加一些自定义的功能,这个时候我们就需要自定义弹窗了! 带xib的弹窗文件 调用弹窗的方法: class func show(view: UIView?) -> AlertView { var ...

    在项目中,有的时候需要用到一些特殊的弹窗,并在弹窗上添加一些自定义的功能,这个时候我们就需要自定义弹窗了!

    带xib的弹窗文件
    调用弹窗的方法:

        class func show(view: UIView?) -> AlertView {
                var supperView: UIView!
                if view == nil {
                    let delegate = UIApplication.shared.delegate as! AppDelegate
                    supperView = delegate.window
                } else {
                    supperView = view
                }
                let nib = UINib(nibName: "AlertView", bundle: Bundle(for: AlertView.self))
                let alertView = nib.instantiate(withOwner: nil, options: nil)[0] as! FriendAddAlertView
                supperView.addSubview(alertView)
                alertView.frame = CGRect(x: 0, y: 0, width: AppConfig.screenWidth, height: AppConfig.screenHeight)
                alertView.alpha = 0
                UIView.animate(withDuration: 0.2) {
                    alertView.alpha = 1
                }
                return alertView
            }

    如果需要在弹窗上进行一些操作,则声明添加并在某个时机发送block:

        typealias addFriendBlock = (_ select: Bool) -> Void
        var selectBlock: addFriendBlock?
        if selectBlock != nil {
                selectBlock!(true)
        }

     

    展开全文
  • 下载完成后,将MBProgressHUD.h和MBProgressHUD....因为使用的swift语言,所以拖入项目的时候会提示是否新建一个桥接objective-c与swift的文件,选择是即可。此步骤会自动新建一个文件。如图: 在该文件(MBProgres

    GitHud的下载地址是:https://github.com/jdg/MBProgressHUD/

    下载完成后,将MBProgressHUD.h和MBProgressHUD.m拖入已经新建好的Swift项目。因为使用的swift语言,所以拖入项目的时候会提示是否新建一个桥接objective-c与swift的文件,选择是即可。此步骤会自动新建一个文件。如图:
    这里写图片描述
    在该文件(MBProgressHUDDemo-Bridging-Header.h)中,有这样的一句注释:
    // Use this file to impZ喎�"/kf/ware/vc/" target="_blank" class="keylink">vcnQgeW91ciB0YXJnZXQmcnNxdW87cyBwdWJsaWMgaGVhZGVycyB0aGF0IHlvdSB3b3VsZCBsaWtlIHRvIGV4cG9zZSB0byBTd2lmdC48L3A+DQo8cD7S4su806a4w8rHtbzI6823zsS8/qOsyrm1w8TjtcRzd2lmdL/J0tTKudPDzc+9+MiltcTOxLz+oaM8YnIgLz4NCtLytMujrNTauMPOxLz+1tDQtNXiw7TSu77ko7o8L3A+DQo8cHJlIGNsYXNzPQ=="brush:java;">#import "MBProgressHUD.h"

    • 1

    会发现在Build Settings–>Swift complier -Code Generation中,多了一个项,个人理解是桥接文件MBProgressHUDDemo-Bridging-Header.h的声明。如果有不同见解,欢迎指正。如图:
    这里写图片描述

    尝试了几种样式的提示框。使用按键来触发。
    这里写图片描述

    以下是整个Demo的代码:

    //
    //  ViewController.swift
    //  MBProgressHUDDemo
    //  MBProgressHUD GitHud地址:https://github.com/jdg/MBProgressHUD/
    //  Created by mobao on 15/7/1.
    //  Copyright (c) 2015年 mobao. All rights reserved.
    //
    
    import UIKit
    
    
    class ViewController: UIViewController {
        @IBAction func TextDialogBtn(sender: AnyObject) {
            showTextDialog()
        }
        @IBAction func ProgressDialogBtn1(sender: AnyObject) {
            showProgressDialog1()
        }
        @IBAction func ProgressDialogBtn2(sender: AnyObject) {
            showProgressDialog2()
        }
        @IBAction func CustomDialogBtn(sender: AnyObject) {
            showCustomDialog()
        }
        @IBAction func AllTextDialogBtn(sender: AnyObject) {
            showAllTextDialog()
        }
    
        var HUD : MBProgressHUD?
        override func viewDidLoad() {
            super.viewDidLoad()
            // Do any additional setup after loading the view, typically from a nib.
    
        }
        //文本提示框
        func showTextDialog(){
            //初始化对话框,置于当前的View当中
            HUD = MBProgressHUD(view: self.view)
            self.view.addSubview(HUD!)
            //如果设置此属性,则当前view置于后台
            HUD?.dimBackground = true
            //设置对话框文字
            HUD?.labelText = "请稍等"
            HUD?.showAnimated(true, whileExecutingBlock: {
                sleep(3)
                }, completionBlock: {
                self.HUD?.removeFromSuperview()
                self.HUD = nil
            })
        }
        //框型进度提示
        func showProgressDialog1(){
            //初始化对话框,置于当前的View当中
            HUD = MBProgressHUD(view: self.view)
            self.view.addSubview(HUD!)
            //如果设置此属性,则当前view置于后台
            HUD?.dimBackground = true
            //设置对话框文字
            HUD?.labelText = "正在加载"
            //设置模式为进度框形的
            HUD?.mode = MBProgressHUDMode.Determinate
            HUD?.showAnimated(true, whileExecutingBlock: {
                var progress : Float = 0.0
                while(progress < 1.0){
                    progress += 0.01
                    self.HUD?.progress = progress
                    usleep(50000)
                }
                }, completionBlock: {
                    self.HUD?.removeFromSuperview()
                    self.HUD = nil
            })
        }
        //进度条提示
        func showProgressDialog2(){
            //初始化对话框,置于当前的View当中
            HUD = MBProgressHUD(view: self.view)
            self.view.addSubview(HUD!)
            //如果设置此属性,则当前view置于后台
            HUD?.dimBackground = true
            //设置对话框文字
            HUD?.labelText = "正在加载"
            //设置模式为进度条
            HUD?.mode = MBProgressHUDMode.DeterminateHorizontalBar
            HUD?.showAnimated(true, whileExecutingBlock: {
                var progress : Float = 0.0
                while(progress < 1.0){
                    progress += 0.01
                    self.HUD?.progress = progress
                    usleep(50000)
                }
                }, completionBlock: {
                    self.HUD?.removeFromSuperview()
                    self.HUD = nil
            })
        }
        //自定义提示
        func showCustomDialog(){
            //初始化对话框,置于当前的View当中
            HUD = MBProgressHUD(view: self.view)
            self.view.addSubview(HUD!)
            //如果设置此属性,则当前view置于后台
            HUD?.dimBackground = true
            //设置对话框文字
            HUD?.labelText = "操作成功"
            //设置模式为自定义
            HUD?.mode = MBProgressHUDMode.CustomView
            HUD?.customView = UIImageView(image: UIImage(named: "37x-Checkmark-1"))
            HUD?.showAnimated(true, whileExecutingBlock: {
                sleep(2)
                }, completionBlock: {
                    self.HUD?.removeFromSuperview()
                    self.HUD = nil
            })
    
        }
        //纯文本提示
        func showAllTextDialog(){
            //初始化对话框,置于当前的View当中
            HUD = MBProgressHUD(view: self.view)
            self.view.addSubview(HUD!)
            //如果设置此属性,则当前view置于后台
            HUD?.dimBackground = true
            //设置模式为纯文本提示
            HUD?.mode = MBProgressHUDMode.Text
            //设置对话框文字
            HUD?.labelText = "操作成功"
            //指定距离中心点的X轴和Y轴的偏移量,如果不指定则在屏幕中间显示
    //        HUD?.yOffset = 150.0
    //        HUD?.xOffset = 150.0
            HUD?.showAnimated(true, whileExecutingBlock: {
                sleep(2)
                }, completionBlock: {
                    self.HUD?.removeFromSuperview()
                    self.HUD = nil
            })
        }
    
        override func didReceiveMemoryWarning() {
            super.didReceiveMemoryWarning()
            // Dispose of any resources that can be recreated.
        }
    }

    以下是运行的效果:

    文本提示框:

    这里写图片描述
    进度提示框1:
    这里写图片描述
    进度提示框2:
    这里写图片描述
    自定义提示框:
    这里写图片描述
    纯文本提示框:
    这里写图片描述

    展开全文
  • 在开发过程中,我们经常用到弹框,但是系统提供的弹框并不能完成我们的样式需求,这个时候我们就需要自定义弹框,但是当我们使用纯代码写弹框太过麻烦,而且效果展示不出来,需要每次运行程序才能看到,所以我们就...

    在开发过程中,我们经常用到弹框,但是系统提供的弹框并不能完成我们的样式需求,这个时候我们就需要自定义弹框,但是当我们使用纯代码写弹框太过麻烦,而且效果展示不出来,需要每次运行程序才能看到,所以我们就需要通过Xib直接拖拽来实现,下面就是通过代码来实现自定义弹框

    第一步、创建自定义View

    第二步、就是创建对应的Xib

    第三步、给Xib取名字,最好和上面创建的View一样

    第四步、Xib与View关联

    第五步、此时AlertView.Xib中是没有View,我们拖拽一个UIView

    第六步、将Xib中拖拽的View连接到AlertView.swift文件中,名字随便(这里命名为contentView)

    第七步、接着将上面的contentView代码添加到AlertView.swift上

    
        override init(frame: CGRect) {
            super.init(frame: frame)
            // 加载xib,loadNibNamed("xib的名称")
            contentView = (Bundle.main.loadNibNamed("AlertView", owner: self, options: nil)?.last as! UIView)
            // 设置frame
            contentView.frame = frame
            contentView.backgroundColor = UIColor.black.withAlphaComponent(0.5)
            NSToolObjectClass.animationWithAlertViewWithView(allView: tipView)
            // 添加上去
            addSubview(contentView)
        }
        
        required init?(coder aDecoder: NSCoder) {
            fatalError("init(coder:) has not been implemented")
        }

    这样就将Xib的View效果添加到了AlertView上,剩下的就是讲所需要的画面在Xib上布局即可了

    下面是效果图,在项目随便一个也面写的

    下面是使用代码

            let alertView = AlertView.init(frame: CGRect.init(x: 0, y: 0, width: kScreenWidth, height: kScreenHeight))
            alertView.messageLabel.text = "你确定要退出登录吗?"
            alertView.changeBlock = { index in
                print(index)
            }
            self.view.addSubview(alertView)

    GitHub下载地址:https://github.com/WangQingLei307909/walertview/blob/master/AlertView.zip

    展开全文
  • swift 提示框

    2015-02-25 22:45:48
    var alert = UIAlertView() alert.title = "Refresh?" alert.message = "All data[\(tvData.getData(indexPath) as String)] will be selected." alert.addButtonWithTitle("Cancel")
  • 本系列是Swift官方入门教程的翻译版,含源码,欢迎一起学习Swift
  • 以前的OC项目中使用自定义view做启动页广告,发现存在一些问题: ...swift 集成app启动页广告,切换rootViewController,支持LaunchImage和LaunchScreen.storyboard,支持GIF图片显示,支持视图过渡动
  • EventKit为获取和操作用户日历事件和提醒提供了一系列的类.在下面的教程中,我的目标是带领你走出利用EventKit建立一个应用程序的第.我的目标是带领你迈出利用EventKit建立一个应用程序的第一步....
  • xib自定义弹窗的实现

    2019-08-06 10:26:55
    1、首先继承UIView拖出一个XIB文件的类,如图定制一个简单的弹窗 2、在.h文件中相应的名称 typedef void(^ButtonBlock)(void); @interface SimpleAlertView : UIView @property (weak, nonatomic) ...
  • 问题现象:想在页面初始化的时候,使用self.presentViewController方法弹出个告警提示框UIAlertController。但行后报了个如下告警,同时告警框也出不来。 ...2015-03-10 09:55:34.197 Test[1140:29622] Warning:...
  • 最近做了一个webview 和JS进行交互,但是JS里的dialog却无法弹出。 webSettings.setJavaScriptEnabled(true); webSettings.setJavaScriptCanOpenWindowsAutomatically(true); webSettings.setAllowFileAccess...
  • Network:Alamofire:著名的AFNetworking网络基础库Swift版 [SwiftyJSON:最为开发者认可的JSON解析类 ] (https://github.com/SwiftyJSON/SwiftyJSON)ObjectMapperJSON转模型model** Kingfisher**Kingfisher 是一个...
  • 1.单张图片的显示 Objective-C代码: -(void)setupImageView{ //初始化一个imageView UIImageView * testImageView = [[UIImageView alloc] initWithFrame:self.view.frame];... testImageView...
  • 我们在开发项目的时候,可能会遇到各种样式的弹窗,并且每个项目的弹窗样式都会千差万别。但是不管他们的样式再怎么变化,只要我们掌握了核心的自定义弹窗方法,那么我们都会很快就能实现这些样式的弹窗的。 今天的...
  • “轮子” 工具类 项目 开发者 备注 SwiftyJSON tangplin, lingoer GitHub 上最为开发者...Dollar.swift ...Swift 版 Lo-Dash (或 underscore )函数式工具库 OAuthSwift Dongri J
  • 首先要设置WKWebView的代理 self.webView.UIDelegate = self; 实现以下三个代理方法即可 #pragma mark -- WKUIDelegate // 显示一个按钮。...- (void)webView:(WKWebView *)webView ...
  • Swift 开源项目汇总

    2019-09-16 16:07:05
    Swift 开源项目汇总
  • Swift转场动画的使用.创建微博下拉菜单
1 2 3 4 5 ... 20
收藏数 645
精华内容 258
热门标签
关键字:

swift 加载弹窗