你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> iOS開發UI篇—程序啟動原理和UIApplication

iOS開發UI篇—程序啟動原理和UIApplication

編輯:IOS開發綜合
一、UIApplication
1.簡單介紹
(1)UIApplication對象是應用程序的象征,一個UIApplication對象就代表一個應用程序。


(2)每一個應用都有自己的UIApplication對象,而且是單例的,如果試圖在程序中新建一個UIApplication對象,那麼將報錯提示。


(3)通過[UIApplicationsharedApplication]可以獲得這個單例對象


(4) 一個iOS程序啟動後創建的第一個對象就是UIApplication對象,且只有一個(通過代碼獲取兩個UIApplication對象,打印地址可以看出地址是相同的)。


(5)利用UIApplication對象,能進行一些應用級別的操作


2.應用級別的操作示例:


1)設置應用程序圖標右上角的紅色提醒數字(如QQ消息的時候,圖標上面會顯示1,2,3條新信息等。)


@property(nonatomic) NSInteger applicationIconBadgeNumber;

- (void)viewDidLoad
{
[super viewDidLoad];
//創建並添加一個按鈕
UIButton *btn=[[UIButton alloc]initWithFrame:CGRectMake(100, 100, 60, 30)];
[btn setTitle:@"按鈕" forState:UIControlStateNormal];
[btn setBackgroundColor:[UIColor brownColor]];
[btn addTarget:self action:@selector(onClick) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:btn];
}
-(void)onClick
{
NSLog(@"按鈕點擊事件");
//錯誤,只能有一個唯一的UIApplication對象,不能再進行創建
// UIApplication *app=[[UIApplication alloc]init];

//通過sharedApplication獲取該程序的UIApplication對象
UIApplication *app=[UIApplication sharedApplication];
app.applicationIconBadgeNumber=123;
}

 

2)設置聯網指示器的可見性


@property(nonatomic,getter=isNetworkActivityIndicatorVisible) BOOL networkActivityIndicatorVisible;


代碼和效果:


//設置指示器的聯網動畫
app.networkActivityIndicatorVisible=YES;

 

3)管理狀態欄


從iOS7開始,系統提供了2種管理狀態欄的方式


a.通過UIViewController管理(每一個UIViewController都可以擁有自己不同的狀態欄).


在iOS7中,默認情況下,狀態欄都是由UIViewController管理的,UIViewController實現下列方法就可以輕松管理狀態欄的可見性和樣式


狀態欄的樣式   - (UIStatusBarStyle)preferredStatusBarStyle;


狀態欄的可見性  -(BOOL)prefersStatusBarHidden;

 

#pragma mark-設置狀態欄的樣式
-(UIStatusBarStyle)preferredStatusBarStyle
{
//設置為白色
//return UIStatusBarStyleLightContent;
//默認為黑色
return UIStatusBarStyleDefault;
}
#pragma mark-設置狀態欄是否隱藏(否)
-(BOOL)prefersStatusBarHidden
{
return NO;
}

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved