`
_wyh
  • 浏览: 61082 次
社区版块
存档分类
最新评论

ios UIApplication简单使用

    博客分类:
  • ios
ios 
阅读更多

1,一个程序只有一个UIApplication

//获取
UIApplication *app = [UIApplication sharedApplication];

//错误获取
UIApplication *app = [[UIApplication alloc] init];
//UIApplication是单例的,如果试图在程序中新建一个UIApplication对象,那么将提示报错

 2,使用获取的UIApplication,可以进行一些应用级别操作(app图标的提醒框,联网状态显示,打电话,打开网页,控制状态栏

//app图标的提醒框(图标上提示有信息的小红点)
app.applocationIconBadgeNumber = 10;  //10为提醒数字

//实现上述方法,必须注册用户通知:

//创建用户通知
UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge categories:nil];
//注册用户的通知
[app registerUserNotificationSettings: settings];

 

//设置联网状态
app.networkActivityIndicatorVisible = YES;

 

//打开网页
NSURL *url = [NSURL URLWithString: @"http://www.baidu.com"];
[[UIApplication sharedApplication] openURL: url];

//协议头 :http,https,file,tel

 

//控制状态栏

//ios7以后,状态栏默认由控制器决定,所以:

//  (1)将info.plist文件的View controller-based status bar appearance设置为NO时,在控制器中对状态栏的控制都将无效

//隐藏状态栏
[app setStatusBarHidden: YES]; 
  
//设置状态栏的字体颜色模式
[app setStatusBarStyle:UIStatusBarStyleLightContent];

//设置隐藏状态栏动画
[app setStatusBarHidden: YES withAnimation: UIStatusBarAnimationSlide];





//  (2)将info.plist文件的View controller-based status bar appearance设置为YES时,UIApplication修改控制栏无效,需要在控制器(ViewController)中添加方法

//是否隐藏状态栏
- (BOOL)prefersStatusBarHidden {
          return YES;
}
//设置状态栏字体颜色
- (UIStatusBarStyle)preferredStatusBarStyle {
          return UIStatusBarStyleLightContent;
}

 3,UIApplicationDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
       //程序启动完成时调用
}

- (void)applicationWillResignActive:(UIApplication *)application {
       //程序失去焦点时调用  意味着不能和用户交互
}

- (void)applicationDidEnterBackground:(UIApplication *)application {
       //程序进入后台时调用
}

- (void)applicationWillEnterForeground:(UIApplication *)application {
       //程序即将进入前台时调用
}

- (void)applicationDidBecomeActive:(UIApplication *)application {
       //程序获取焦点时调用  可以和用户交互
}

- (void)applicationWillTerminate:(UIApplication *)application {
       //程序被关闭时调用  此方法无法验证
}

- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application
{
       //程序接收到内存警告时调用
}


/*
程序运行时,调用顺序为:
     1  application:didFinishLaunchingWithOptions:
     2  applicationDidBecomeActive:
先进入程序,然后获取焦点,此时用户可以进行点击等交互操作
*/

/*
按压Home键:
     1  applicationWillResignActive:
     2  applicationDidEnterBackground:
先失去焦点,不能交互,然后程序进入后台
*/

/*
再次进入程序:
     1  applicationWillEnterForeground:
     2  applicationDidBecomeActive:
先调用即将进入前台方法,之后进入程序,获取焦点
*/

 

0
0
分享到:
评论

相关推荐

    UIApplication介绍

    在"05-UIApplication介绍"的Demo中,开发者可能通过创建一个简单的应用,展示了如何利用UIApplication的上述功能。通过实践,你可以更深入地理解UIApplication在iOS应用中的核心地位,以及如何有效利用它来构建高效...

    iOS Swift简单Demo

    这个名为“iOS Swift简单Demo”的项目显然是一个基础教学示例,旨在帮助初学者理解如何使用Swift来创建具有底部状态栏的应用。底部状态栏是iOS应用中常见的一种UI元素,通常用来显示当前屏幕的状态或者提供导航功能...

    iOS百度地图简单使用详解

    本文将详细介绍如何在iOS平台上简单使用百度地图,包括环境配置、基础地图展示、POI检索以及定位功能。 首先,要使用iOS百度地图SDK,你需要进行环境配置。推荐使用CocoaPods来自动管理依赖,将百度地图SDK添加到...

    iOS 启动第三方 App,以及调用 DeepLink 工具类.zip

    然后,使用`UIApplication`的`openURL:`方法(iOS 8及以下)或`open(_:options:completionHandler:)`方法(iOS 9及以上)来尝试打开URL,如: ```swift if let url = URL(string: "scheme://target/path") { if #...

    IOS下使用AVAudioPlayer播放MP3(支持后台播放)

    AVFoundation框架提供了AVAudioPlayer类,它使得在iOS应用中播放音频文件变得简单。本教程将详细介绍如何在iOS环境下,特别是在使用AVAudioPlayer类时,实现MP3文件的播放,并确保在后台模式下仍能正常工作。 首先...

    IOS 拨打电话(三种方式)

    例如,如果你有一个电话号码`1234567890`,你可以创建一个URL字符串`tel:1234567890`,然后使用`UIApplication`的`openURL:`方法来打开它。代码如下: ```swift let phoneNumber = "1234567890" if let url = URL...

    iOS 打电话功能的简单实现

    在iOS平台上,实现打电话功能是开发者经常会遇到的需求。这一功能主要涉及到系统提供的URL Scheme,特别是`tel:`协议,以及相关的安全策略。以下是对这个话题的详细解析。 首先,我们需要了解`tel:` URL Scheme。它...

    ios触摸简单Demo

    本“ios触摸简单Demo”旨在介绍如何在iOS应用中实现基本的触摸事件处理。 首先,iOS中的触摸事件由UIResponder类的子类处理。UIApplication、UIViewController和UIView都是UIResponder的子类,它们可以接收并处理...

    IOS推送消息docx文档

    iOS 推送消息的工作机制可以简单地用以下图来概括: Provider 是指某个 iPhone 软件的 Push 服务器,APNS 是 Apple Push Notification Service 的缩写,是苹果的服务器。上图可以分为三个阶段: 1. 应用程序把要...

    IOS简单,轻松实现badge

    在iOS中实现badge功能,我们可以通过两种主要方式:一种是利用UIKit框架提供的UIApplication对象,另一种是自定义视图。由于标题和描述提到了UIView层扩展,我们将主要讨论后者。 1. **自定义UIView扩展**: 首先...

    ios-打电话.zip

    总的来说,"ios-打电话.zip"中的"03-打电话"示例可能是一个简单的Swift或Objective-C代码片段,展示了如何在iOS应用中集成拨打电话的功能。通过学习和理解这些知识点,开发者可以为用户创建一个方便快捷的拨号体验。

    IOS俩个app跳转

    综上所述,iOS上两个应用之间的跳转主要依赖于URL Scheme技术,这是一种免费且相对简单的方法,尤其适用于早期版本的iOS系统。然而,随着系统的更新,开发者还需要关注其他的交互方式,如Universal Links和Custom ...

    iOS中tabbar的嵌套使用

    4. **使用`UIStackView`**:如果只是简单的分隔几个子视图,并不需要完整的`TabBar`功能,可以考虑使用`UIStackView`来实现类似的效果,将多个子视图水平排列,模拟`TabBar`的样式。 在实际开发中,嵌套`TabBar`...

    iOS消息响应demo

    在这个项目中,我们可能会看到一个简单的应用,它展示了从用户界面元素(如按钮)接收到事件后,消息是如何在对象之间传递并最终被响应的。 首先,我们需要了解iOS中的事件响应系统。这一系统基于Apple的Cocoa ...

    iOS拨打电话(三种方法)

    在iOS中,可以使用`UIApplication`类的`openURL`方法来启动拨号界面,这是最简单的方法之一。通过传递一个带有电话协议的URL,系统会自动打开拨号界面,用户确认后即可拨打电话。 ```objective-c // Objective-C ...

    ios-tabbar 简单实现的选项卡切换.zip

    本教程将详细介绍如何在iOS项目中简单实现一个`ios-tabbar`,并进行选项卡切换。我们将主要讨论以下几个知识点: 1. **Storyboard与Xcode Interface Builder**: 在iOS开发中,Storyboard是常用的设计工具,用于...

    iOS UI开发详解

    简单来说,一个view是`UIView`类或其子类的一个实例。具体而言: - **View的基本功能**:View知道如何将其自身绘制到应用程序窗口(UIWindow)上。 - **View的层次结构**:View存在于一个层次结构中,即view ...

    iOS截屏录屏处理

    1. **禁止截屏**:在某些特定界面,比如支付页、密码输入页,可以使用`UIWindowSceneDelegate`的`windowScene(_:willChangeStatusBarFrame:)`方法来改变窗口的透明度,使得截图效果为空白,达到阻止截屏的效果。...

    iOS 调用外部程序

    在iOS中,调用外部程序主要通过`UIApplication`类的`openURL:`方法(在iOS 10及以上版本需使用`open(_:options:completionHandler:)`方法)。下面是一个简单的示例,展示如何打开一个网页: ```swift if let url = ...

    iOS单利用法举例

    在这里,我们将通过一个简单的例子来理解iOS中的单例实现。 首先,我们需要了解单例模式的基本原则:确保类只有一个实例并提供一个全局访问点。在Objective-C中,我们通常通过以下步骤创建一个单例: 1. 封锁初始...

Global site tag (gtag.js) - Google Analytics