`

Phonegap之WaitingDialog For iOS

 
阅读更多

无话,上代码:

 

//WaitingDialog.h

#import <Foundation/Foundation.h>

#import <Cordova/CDVPlugin.h>

 

@interface WaitingDialog : CDVPlugin {

}

 

// UNCOMMENT THIS METHOD if you want to use the plugin with versions of cordova < 2.2.0

//- (void) show:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options;

 

// COMMENT THIS METHOD if you want to use the plugin with versions of cordova < 2.2.0

- (void) show:(CDVInvokedUrlCommand*)command;

- (void) hide:(CDVInvokedUrlCommand*)command;

 

@end

 

 

//WaitingDialog.m

 

#import "WaitingDialog.h"

 

@interfaceWaitingDialog () {

    UIAlertView *waitingDialog;

}

@property (nonatomic, retain) UIAlertView *waitingDialog;

 

-(void)showWaitingDialogWithText:(NSString*)text;

-(void)hideWaitingDialog;

 

@end

 

@implementation WaitingDialog

 

@synthesize waitingDialog = _waitingDialog;

 

-(UIAlertView *)waitingDialog {

    if (!_waitingDialog || _waitingDialog == nil) {

        _waitingDialog = [[[UIAlertViewalloc] initWithTitle:@""message:nildelegate:selfcancelButtonTitle:nilotherButtonTitles: nil] autorelease];

    }

    return_waitingDialog;

}

 

// UNCOMMENT THIS METHOD if you want to use the plugin with versions of cordova < 2.2.0

//- (void) show:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options {

//    NSString *text = @"Please wait...";

//    @try {

//        text = [options valueForKey:@"text"];

//    }

//    @catch (NSException *exception) {

//        NSLog(@"Cannot read text argument")

//    }

//

//    [self showWaitingDialogWithText:text];

//}

 

// COMMENT THIS METHOD if you want to use the plugin with versions of cordova < 2.2.0

- (void) show:(CDVInvokedUrlCommand*)command {

    NSString *text = @"请稍候...";

    @try {

        text = [command.arguments objectAtIndex:0];

    }

    @catch (NSException *exception) {

        NSLog(@"读取文本参数失败");

    }

    

    [selfshowWaitingDialogWithText:text];

}

 

// UNCOMMENT THIS METHOD if you want to use the plugin with versions of cordova < 2.2.0

//- (void) hide:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options {

//    [self hideWaitingDialog];

//}

 

// COMMENT THIS METHOD if you want to use the plugin with versions of cordova < 2.2.0

- (void) hide:(CDVInvokedUrlCommand*)command {

    [selfhideWaitingDialog];

}

 

#pragma mark - PRIVATE METHODS

 

-(void)showWaitingDialogWithText:(NSString *)text {

    [self.waitingDialog setTitle:text];

    [self.waitingDialogshow];

    UIActivityIndicatorView *indicator = [[UIActivityIndicatorViewalloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];

    

    // Adjust the indicator so it is up a few pixels from the bottom of the alert

    indicator.center = CGPointMake(self.waitingDialog.bounds.size.width / 2, self.waitingDialog.bounds.size.height - 50);

    [indicator startAnimating];

    [self.waitingDialog addSubview:indicator];

    [indicator release];

 

    //UIAlertView增加触屏响应功能

    UITapGestureRecognizer *tapOne = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleFingerEvent:)];

    [self.waitingDialogaddGestureRecognizer:tapOne];

    [tapOne release];

}

 

//UIAlertView触屏事件响应函数,用以关闭进度提示框

- (void)handleSingleFingerEvent:(UITapGestureRecognizer *)sender

{

//    NSLog(@"进入触摸事件...");

    [selfhideWaitingDialog];

}

 

-(void)hideWaitingDialog {

    if (_waitingDialog) {

        [self.waitingDialogdismissWithClickedButtonIndex:0animated:YES];

        _waitingDialog = nil;

    }

}

 

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{

    [selfhideWaitingDialog];

}

@end

分享到:
评论

相关推荐

    phonegap之微信ios分享需要的东西

    iOS平台是PhoneGap支持的重要目标之一,而微信作为中国最流行的社交应用,其分享功能在移动应用中非常常见。在使用PhoneGap构建iOS应用时,如果想要实现微信分享,你需要进行一系列的配置和集成工作。 首先,你需要...

    PhoneGap iOS 自定义插件

    PhoneGap iOS 自定义插件是移动应用开发中的一个重要概念,它允许开发者利用JavaScript与原生iOS平台进行交互,实现更高效、更丰富的功能。PhoneGap是一个开源框架,它基于Apache Cordova,允许开发者使用HTML、CSS...

    phonegap 2.9 ios配置安装详细教程

    本教程将详细讲解如何在 iOS 平台上配置和安装 PhoneGap 2.9 版本。 首先,我们需要下载两个关键组件:Xcode 和 PhoneGap。Xcode 是 Apple 提供的官方集成开发环境(IDE),用于编写 macOS 和 iOS 应用。你可以直接...

    Phonegap调用ios原生代码插件:cordova-ios.js

    Phonegap项目中,使用js脚本调用ios中OC代码,需要使用Phonegap提供的一个脚本插件:cordova.js

    PhoneGap Eclipse PlugIn for Android

    PhoneGap Eclipse PlugIn for Android是一款专为Android开发者设计的插件,它允许开发人员使用Eclipse IDE进行PhoneGap应用的构建和调试。PhoneGap是一种开源框架,它使开发者能够使用HTML、CSS和JavaScript来创建跨...

    Xcode5 + phoneGap2.9搭建ios开发环境

    Xcode5是支持iOS7及更高版本开发的最早版本之一,它包含了Interface Builder、Instruments、Source Control等丰富的开发工具。在安装过程中,确保勾选“命令行工具”选项,以便后续的命令行操作。 安装完Xcode后,...

    cordova phonegap toast ios插件

    【标题】:“Cordova PhoneGap Toast iOS插件” 在移动应用开发中,Cordova和PhoneGap是两个常用的技术框架,它们允许开发者使用HTML、CSS和JavaScript来构建原生的移动应用。而“Cordova PhoneGap Toast iOS插件”...

    iOS 使用PhoneGap 开发HTML5 的APP

    1. 添加iOS平台到项目中,运行`phonegap platform add ios`命令。 2. 配置你的iOS开发者账号和证书,以便在真机或App Store上部署应用。 **开发HTML5应用** 1. 在项目目录下的`www`文件夹中,你可以编写HTML5、CSS...

    PhoneGap命令行工具快速创建IOS PhoneGap项目 基于Mac OS X

    PhoneGap命令行工具快速创建IOS PhoneGap项目,基于Mac OS X 有截图

    phonegap ios工程事例

    在这个“WordPress-jQuery-mobile-and-Phonegap-app-for-iOS-master”压缩包中,包含了一个基于WordPress、jQuery Mobile和PhoneGap的iOS应用项目。让我们深入探讨这些关键组成部分: 1. **PhoneGap**: PhoneGap...

    PhoneGap IOS 端源码

    iOS端的PhoneGap项目是基于Cordova(PhoneGap的开源版本)和Xcode,提供了在iOS设备上运行Web技术的桥梁。本资源包含了一个名为“m00sey-phonegap-iphone-95c64f4”的PhoneGap iOS端源码,这个版本可能是特定的...

    PhoneGap-拍照上传DEMO

    3. **PhoneGap Camera Plugin**:PhoneGap的相机插件提供了一种更简单的方式来访问设备的摄像头。开发者可以通过调用`navigator.camera.getPicture`方法,选择拍照或从相册选取图片,并获取图片的Base64编码或文件...

    Windows下IOS开发环境搭建

    本文档详细介绍了如何在 Windows 环境下搭建 IOS 开发环境,以便使用 PhoneGap 打包 Android 和 iOS 的 WebApp 程序。该环境搭建主要通过安装 MAC OS 10.6.4 在 VMware Workstation 8.0.4 虚拟机中,并升级到 10.6.8...

    ios phonegap2.9 helloworld

    这个"ios phonegap2.9 helloworld"项目是一个入门级别的教程,旨在帮助初学者理解如何在iOS平台上使用PhoneGap 2.9版本创建基本的应用程序。PhoneGap 2.9是该框架的一个旧版本,但在当时仍然广泛使用,因此了解其...

    Phonegap iOS 的web 应用插件demo

    PhoneGap iOS的Web应用插件Demo是一个示例,展示了如何在iOS设备上通过PhoneGap将Web应用与本地iOS功能相结合,利用各种插件来扩展Web应用的能力。下面将详细探讨PhoneGap、iOS开发以及插件机制。 1. **PhoneGap**...

    phonegap之android示例

    这个“phonegap之android示例”项目,显然是一个基于PhoneGap技术,专为Android平台设计的示例应用。通过这个项目,我们可以深入理解PhoneGap如何与Android原生环境相结合,以及如何利用JavaScript进行移动应用开发...

    jpush-phonegap-plugin:jpush的phonegap插件,包括iOS和Android源代码以及js-android source code

    jpush-phonegap-plugin jpush的phonegap插件,包括iOS和Android源代码以及js。 第一个版本仅为js添加setTagAndAlias函数,因此您可以在用户登录html应用程序后调用此函数。 我将尽快向js调用添加通知。

    IONIC+PhoneGap项目源码

    1. **跨平台**:PhoneGap支持Android、iOS、Windows Phone等多个主流移动操作系统。 2. **本地API访问**:通过Cordova插件,PhoneGap可以访问设备的摄像头、GPS、联系人列表等硬件功能。 3. **轻松打包**:开发者...

    phonegap-ios调用短信插件使用文档

    在 iOS 平台上,PhoneGap 也提供了调用系统短信功能的能力。以下是如何在 PhoneGap 中调用 iOS 系统短信功能并将其显示为中文的详细步骤: 1. **集成 SMSComposer 插件**: - 首先,你需要获取 SMSComposer 插件的...

Global site tag (gtag.js) - Google Analytics