UIApplication *app = [UIApplication sharedApplication];
UIApplication *app1 = [UIApplication sharedApplication];
UIApplication *app2 = [[UIApplication alloc] init];
NSLog(@"%p %p %p", app, app1, app2);
這裏錯誤顯示不能調用init方法,而且寫着UIApplication是單例
@property(nonatomic) NSInteger applicationIconBadgeNumber;
<span style="font-size:18px;">IOS7:
UIApplication *app = [UIApplication sharedApplication];
// 應用程序右上角數字
app.applicationIconBadgeNumber = 10;
上面的代碼可以搞定
IOS8:
iOS8中設置application badge value 會拋錯:Attempting to badge the application icon but haven't received permission from the user to badge the
原因是因爲在ios8中,設置應用的application badge value需要得到用戶的許可。使用如下方法諮詢用戶是否許可應用設置application badge value
UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge categories:nil];
[[UIApplication sharedApplication] registerUserNotificationSettings:settings];
在這之前要判斷系統是否爲iOS8的系統,否則8之前的系統會報錯。
UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge categories:nil];
[[UIApplication sharedApplication] registerUserNotificationSettings:settings];
UIApplication *app = [UIApplication sharedApplication];
// 應用程序右上角數字
app.applicationIconBadgeNumber = 10; </span><span style="font-size: 28pt;">
</span>
@property(nonatomic,getter=isNetworkActivityIndicatorVisible) BOOL networkActivityIndicatorVisible;
-(UIStatusBarStyle)preferredStatusBarStyle;
- (BOOL)prefersStatusBarHidden;
-(BOOL)openURL:(NSURL*)url;
UIApplication *app = [UIApplicationsharedApplication];
[app openURL:[NSURLURLWithString:@"tel://10086"]];
[app openURL:[NSURLURLWithString:@"sms://10086"]];
[app openURL:[NSURLURLWithString:@"mailto://[email protected]"]];
[app openURL:[NSURLURLWithString:@"http://ios.itcast.cn"]];
直接將view添加到UIWindow中,但並不會理會view對應的UIViewController
自動將rootViewController的view添加到UIWindow中,負責管理rootViewController的生命週期
讓當前UIWindow變成keyWindow(主窗口)
讓當前UIWindow變成keyWindow,並顯示出來
在本應用中打開的UIWindow列表,這樣就可以接觸應用中的任何一個UIView對象
(平時輸入文字彈出的鍵盤,就處在一個新的UIWindow中)
用來接收鍵盤以及非觸摸類的消息事件的UIWindow,而且程序中每個時刻只能有一個UIWindow是keyWindow。如果某個UIWindow內部的文本框不能輸入文字,可能是因爲這個UIWindow不是keyWindow
獲得某個UIView所在的UIWindow