成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

獲取APP的LaunchImage

移動開發(fā)
啟動圖(LaunchImage)的管理其實在iOS開始中算比較簡單的了,尤其是Xcode引入了xcassets之后,完全是傻瓜式的操作。但是有的時候我們還是需要在Launch Image上做文章。

[[153741]]

啟動圖(LaunchImage)的管理其實在iOS開始中算比較簡單的了,尤其是Xcode引入了xcassets之后,完全是傻瓜式的操作。但是有的時候我們還是需要在Launch Image上做文章。

LaunchImage在APP初始化完之后會立即消失并顯示APP的界面 但是有的時候我們不希望它這么快就消失(比如有的人希望有個過渡效果 有的人希望等某些設(shè)置或者數(shù)據(jù)加載完之后再消失) 這也很簡單 我們只要自己把LaunchImage再顯示出來并且置頂就OK了

比如下面這樣

2015-10-15-tips-access-current-launch-image1.gif

不過我們配置了那么多適用于不同屏幕分辨率的LaunchImage 如何獲取適合于當(dāng)前屏幕分辨率的LaunchImage呢?

普通的辦法是 把所有LaunchImage加入到工程并根據(jù)屏幕分辨率來命名 比如(640_960.png 640_1136.png …) 然后在程序中用代碼拼接出對應(yīng)的文件名 并引用

但是這種辦法比較原始 而且萬一以后蘋果又出了一些其他分辨率的設(shè)備 或者啟動圖發(fā)生變化的時候 又需要人工的修改工程配置 不太好 而且還需要多占一份資源(APP的容量又變大啦)

而stackflow上的Cherpak Evgeny分享了一個更好的辦法 直接讀取NSBundle中的設(shè)置 即可獲取當(dāng)前適用的LaunchImage

我以上面的圖為例寫了個演示代碼

  1. CGSize viewSize = self.window.bounds.size; 
  2. NSString *viewOrientation = @"Portrait";    //橫屏請設(shè)置成 @"Landscape" 
  3. NSString *launchImage = nil; 
  4. NSArray* imagesDict = [[[NSBundle mainBundle] infoDictionary] valueForKey:@"UILaunchImages"]; 
  5. for (NSDictionary* dict in imagesDict) 
  6.     CGSize imageSize = CGSizeFromString(dict[@"UILaunchImageSize"]); 
  7.       
  8.     if (CGSizeEqualToSize(imageSize, viewSize) && [viewOrientation isEqualToString:dict[@"UILaunchImageOrientation"]]) 
  9.     { 
  10.         launchImage = dict[@"UILaunchImageName"]; 
  11.     } 
  12. UIImageView *launchView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:launchImage]]; 
  13. launchView.frame = self.window.bounds; 
  14. launchView.contentMode = UIViewContentModeScaleAspectFill; 
  15. [self.window addSubview:launchView]; 
  16. [UIView animateWithDuration:2.0f 
  17.                       delay:0.0f 
  18.                     options:UIViewAnimationOptionBeginFromCurrentState 
  19.                  animations:^{ 
  20.                        
  21.                      launchView.alpha = 0.0f; 
  22.                      launchView.layer.transform = CATransform3DScale(CATransform3DIdentity, 1.21.21); 
  23.                        
  24.                  } 
  25.                  completion:^(BOOL finished) { 
  26.                        
  27.                      [launchView removeFromSuperview]; 
  28.                        
  29.                  }]; 

這樣就能輕松搞定LaunchImage了~

責(zé)任編輯:倪明 來源: 里脊串的開發(fā)隨筆
相關(guān)推薦

2011-08-03 17:44:57

iPhone App 文件

2021-12-26 09:20:41

APP權(quán)限移動應(yīng)用

2015-04-28 10:38:43

用戶運營

2025-02-10 00:55:00

2015-09-15 09:37:59

Appstore曝光位獲取方式

2017-02-14 17:00:39

iOSApp內(nèi)存優(yōu)化

2014-06-19 13:27:09

2020-02-07 19:24:47

APP權(quán)限移動應(yīng)用

2021-09-23 14:39:04

APP極速版APP軟件

2012-11-09 12:02:36

阿里云開發(fā)者大會

2013-01-19 09:45:31

App移動開發(fā)趨勢

2013-07-30 16:27:20

App Store潛規(guī)則

2013-07-01 15:23:44

App

2013-10-23 11:34:57

張小龍App

2014-12-18 13:40:16

Web AppHybrid AppNative App

2012-06-28 15:47:31

Web AppHybrid AppHTML5

2015-10-09 09:11:39

html5原生App區(qū)別

2017-02-24 10:30:51

iOS開源App Store

2013-05-27 11:36:42

山寨App Store潛規(guī)則

2013-09-04 15:07:06

移動應(yīng)用設(shè)計
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 日韩三级电影一区二区 | 国产成人高清 | av网站免费在线观看 | 99精品视频在线观看 | 91网站视频在线观看 | 日韩av在线免费 | 神马久久av | 国产精品一区二区福利视频 | 嫩草影院黄 | 在线视频一区二区 | 9久久精品 | 欧美5区| 日韩精品免费一区 | 丁香婷婷久久久综合精品国产 | 一级二级三级在线观看 | 欧美日韩精品一区二区三区蜜桃 | 狠狠干狠狠操 | 欧美日韩电影免费观看 | 91精品久久久久久久久中文字幕 | 亚洲精品一二三 | xnxx 日本免费 | 色婷婷在线视频 | 国产精品毛片久久久久久 | 中文字幕亚洲欧美日韩在线不卡 | a级免费观看视频 | 一色桃子av一区二区 | 亚洲国产精品成人无久久精品 | 成人精品福利 | 黄色大片在线视频 | 中文字幕精品一区 | 久久久国产精品一区 | 国产东北一级毛片 | 久久精品在线播放 | 视频一区二区中文字幕日韩 | 麻豆av电影网 | www.久久久.com| 国产精品综合一区二区 | 99久久久久久久 | 亚洲日韩第一页 | 人人鲁人人莫人人爱精品 | 日产精品久久久一区二区福利 |