欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

iOS開發(fā)retina屏幕下的點(diǎn)與像素關(guān)系詳解

 更新時(shí)間:2022年07月26日 11:11:06   作者:公眾號(hào)iOS逆向  
這篇文章主要為大家介紹了iOS開發(fā)retina屏幕下的點(diǎn)與像素關(guān)系詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

引言

提交app store的時(shí)候 需要一張1024*1024的

如果不設(shè)置這兩種的尺寸啟動(dòng)頁(yè)的話,在4英寸、3.5英寸的設(shè)備上展示不了啟動(dòng)頁(yè),app 的高度也默認(rèn)都是矮的960px.**

注意@3x 提供給開發(fā)的px 為12422208 ,但真實(shí)的px 是10801920,系統(tǒng)API會(huì)自動(dòng)進(jìn)行等比例縮?。?/p>

I iOS中點(diǎn)與像素有什么關(guān)系?

  • 點(diǎn)是iOS中標(biāo)準(zhǔn)的坐標(biāo)體系。它就是iOS中的虛擬像素,也被稱為邏輯像素。 在標(biāo)準(zhǔn)設(shè)備中,一個(gè)點(diǎn)就是一個(gè)像素,但是在Ratina屏幕上,一個(gè)點(diǎn)等于2×2個(gè)像素。iOS用點(diǎn)作為屏幕的坐標(biāo)測(cè)算體系就是為了在Retina設(shè)備和普通設(shè)備上能有一致的視覺效果。
  • 像素是圖片分辨率的尺寸單位。物理像素坐標(biāo)并不會(huì)用于屏幕布局,但是仍然和圖片有相對(duì)關(guān)系。

retina 屏幕下的點(diǎn)= 像素/2。

II 圖片使用的相關(guān)注意事項(xiàng)

2.1 推薦使用png格式

  • png: 常常放置于Assets.xcassets目錄中,作為控件的背景圖片。

壓縮 較高,無(wú)損壓縮,解壓效率高,對(duì)CPU消耗少

  • jpg, 常常放置于Supporting Files目錄

1)壓縮比 比較高,通常用于照片、網(wǎng)頁(yè)

2)屬于有損壓縮(噪點(diǎn)noise)

3)解壓時(shí)對(duì)cpu 消耗大--意味著,慢、費(fèi)電

2.2 關(guān)于圖像的實(shí)例化

方式一:有緩存加載圖片

       + (UIImage *)imageNamed:(NSString *)name 系統(tǒng)推薦使用的方法,但圖像實(shí)例化之后的對(duì)象釋放由系統(tǒng)負(fù)責(zé)。
//       [arrayImage addObject: [UIImage imageNamed:pictureNamePrefix]];//參數(shù)為圖片名稱,png 格式的可以不加擴(kuò)展名

方式二:無(wú)緩存方式加載圖片(提示、如果放置于Assets.xcassets目錄中的圖片不能使用imageWithContentsOfFile:path進(jìn)行加載;只能使用imageName進(jìn)行加載,即內(nèi)存由系統(tǒng)負(fù)責(zé)了)

//方式二:無(wú)緩存方式加載圖片-指定擴(kuò)展名
//        NSArray *arrayPicture = [pictureNamePrefix componentsSeparatedByString:@"."];//從字符中分隔成2個(gè)元素的數(shù)組(圖片名+擴(kuò)展名)
//        NSString *path = [[NSBundle mainBundle] pathForResource:arrayPicture[0] ofType: arrayPicture[1]];//獲取圖片的全路徑
        //方式二:無(wú)緩存方式加載圖片-不指定擴(kuò)展名
        NSString *path = [[NSBundle mainBundle] pathForResource:pictureNamePrefix ofType:nil];
        [arrayImage addObject:[ UIImage imageWithContentsOfFile:path]];

2.3 動(dòng)畫結(jié)束之后清除幀動(dòng)畫數(shù)組

{      //開始動(dòng)畫
    [self.imageList startAnimating];
    //釋放資源:動(dòng)畫結(jié)束之后清除幀動(dòng)畫數(shù)組
    //nvokes a method of the receiver on the current thread using the default mode after a delay.
    [self performSelector:@selector(cleanUpAnimationsArray) withObject:nil afterDelay:self.imageList.animationDuration];//@interface NSObject (NSDelayedPerforming)
}
- (void)cleanUpAnimationsArray{
    NSLog(@"%s ",__func__);
    //動(dòng)畫結(jié)束之后清除幀動(dòng)畫數(shù)組
    [self.imageList setAnimationImages:nil];
}

清除內(nèi)存的代碼簡(jiǎn)化

 [self.imageList performSelector:@selector(setAnimationImages:) withObject:nil afterDelay:self.imageList.animationDuration];

III 設(shè)置狀態(tài)欄字體顏色

3.1 方式一

在info.plist中,將View controller-based status bar appearance設(shè)為NO.

在app delegate中:[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;

3.2 方式二

VC中重寫 -(UIStatusBarStyle)preferredStatusBarStyle

在viewDidload中調(diào)用:[self setNeedsStatusBarAppearanceUpdate];

但是:當(dāng)vc在nav中時(shí),上面方法沒(méi)用,vc中的preferredStatusBarStyle方法根本不用被調(diào)用。

原因是,[self setNeedsStatusBarAppearanceUpdate]發(fā)出后,只會(huì)調(diào)用navigation controller中的preferredStatusBarStyle方法,vc中的preferredStatusBarStyley方法跟本不會(huì)被調(diào)用。

解決方法:

self.navigationController.navigationBar.barStyle = UIBarStyleBlack;

或者定義一個(gè)nav bar的子類,在這個(gè)子類中重寫preferredStatusBarStyle方法:

see also

CFBundleAllowMixedLocalizations 開啟系統(tǒng)預(yù)定義的本地化功能

<key>CFBundleAllowMixedLocalizations</key>
 <true/>

以上就是iOS開發(fā)retina屏幕下的點(diǎn)與像素關(guān)系詳解的詳細(xì)內(nèi)容,更多關(guān)于iOS retina點(diǎn)與像素的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • iOS開發(fā)實(shí)現(xiàn)UIImageView的分類

    iOS開發(fā)實(shí)現(xiàn)UIImageView的分類

    這篇文章主要為大家詳細(xì)介紹了iOS開發(fā)實(shí)現(xiàn)UIImageView的分類,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • 詳解iOS 多線程 鎖 互斥 同步

    詳解iOS 多線程 鎖 互斥 同步

    在iOS中有幾種方法來(lái)解決多線程訪問(wèn)同一個(gè)內(nèi)存地址的互斥同步問(wèn)題,本篇文章主要介紹了5中方法來(lái)解決問(wèn)題,有興趣的可以了解一下。
    2016-12-12
  • 關(guān)于iOS中屬性變量setter與getter方法的理解

    關(guān)于iOS中屬性變量setter與getter方法的理解

    這篇文章主要給大家介紹了關(guān)于iOS中屬性變量setter與getter方法的相關(guān)資料,文章介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。
    2017-06-06
  • iOS開發(fā)藍(lán)牙技術(shù)應(yīng)用增加無(wú)線連接功能

    iOS開發(fā)藍(lán)牙技術(shù)應(yīng)用增加無(wú)線連接功能

    這篇文章主要為大家介紹了iOS開發(fā)藍(lán)牙技術(shù)應(yīng)用增加無(wú)線連接功能示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • iOS中的實(shí)時(shí)遠(yuǎn)程配置全紀(jì)錄

    iOS中的實(shí)時(shí)遠(yuǎn)程配置全紀(jì)錄

    這篇文章主要給大家介紹了關(guān)于iOS中實(shí)時(shí)遠(yuǎn)程配置的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)各位iOS開發(fā)者們具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-01-01
  • iOS中控制NSLog輸出時(shí)機(jī)詳解

    iOS中控制NSLog輸出時(shí)機(jī)詳解

    本文給大家介紹的是iOS開發(fā)中關(guān)于nslog的輸出時(shí)機(jī)的相關(guān)內(nèi)容,非常簡(jiǎn)單實(shí)用,有需要的小伙伴可以參考下
    2017-12-12
  • ios 實(shí)現(xiàn)倒計(jì)時(shí)的兩種方式

    ios 實(shí)現(xiàn)倒計(jì)時(shí)的兩種方式

    這篇文章主要介紹了ios實(shí)現(xiàn)倒計(jì)時(shí)的兩種方式,第一種方式使用NSTimer來(lái)實(shí)現(xiàn),第二種方式使用GCD來(lái)實(shí)現(xiàn)。具體內(nèi)容詳情大家參考下本文
    2017-01-01
  • iOS使用AFN進(jìn)行單圖和多圖上傳的實(shí)例代碼

    iOS使用AFN進(jìn)行單圖和多圖上傳的實(shí)例代碼

    本篇文章中主要介紹了iOS使用AFN進(jìn)行單圖和多圖上傳的實(shí)例代碼,整理出單張和多張圖片上傳的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2017-04-04
  • iOS實(shí)現(xiàn)爆炸的粒子效果示例代碼

    iOS實(shí)現(xiàn)爆炸的粒子效果示例代碼

    之前在網(wǎng)上看到了一個(gè)Android實(shí)現(xiàn)的爆炸效果,感覺非常不錯(cuò),所以自己嘗試用iOS來(lái)實(shí)現(xiàn)下效果,現(xiàn)在將實(shí)現(xiàn)的過(guò)程、原理以及遇到的問(wèn)題分享給大家,有需要的朋友們可以參考借鑒,下面來(lái)一起看看吧。
    2016-10-10
  • iOS使用UICollectionView實(shí)現(xiàn)橫向滾動(dòng)照片效果

    iOS使用UICollectionView實(shí)現(xiàn)橫向滾動(dòng)照片效果

    這篇文章主要為大家詳細(xì)介紹了iOS使用UICollectionView實(shí)現(xiàn)橫向滾動(dòng)照片效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-05-05

最新評(píng)論