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

來源:互聯網
上載者:User

iOS開發UI篇—程式啟動原理和UIApplication
一、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;
}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.