最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

IOS 屏幕適配方案實現(xiàn)縮放window的示例代碼

 更新時間:2020年04月13日 09:23:52   作者:xiari  
這篇文章主要介紹了IOS 屏幕適配方案實現(xiàn)縮放window的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

背景:

公司有個iPad項目(只支持橫屏),是11年開發(fā)的,那時的iPad只有1024x768的分辨率,所以沒有屏幕適配的問題,frame都是寫死的。后來不同尺寸的iPad相繼出現(xiàn),本來應(yīng)該會出現(xiàn)屏幕不能適配的問題,但是由于該項目沒有設(shè)置啟動圖,頁面會自動等比例縮放撐滿整個屏幕,各分辨率的寬高比相差不多,所以并沒有出現(xiàn)太大問題。但是2020年3月4日,蘋果要求所有提交至 App Store 的 app 都須使用 Xcode storyboard(故事板) 來提供 app 的啟動屏幕,之前的不設(shè)置啟動圖取巧的方式就不能用了。

最理想的適配方案當(dāng)然是AutoLayout,但改為AutoLayout改動太大,目前適配周期短,所以這種方案就淘汰了。然后考慮使用AutoResizing,改動小了很多,但是由于項目很大,頁面很多,改動時間還是有些長。

最后考慮了不設(shè)置啟動圖能正常適配的原理??紤]使用縮放Window的方案

縮放方案

1、window縮放

  self.window = [[UIWindow alloc] initWithFrame:CGRectMake(0, 0, 1024, 768)];
  CGFloat scaleX = [UIScreen mainScreen].bounds.size.width / 1024;
  CGFloat scaleY = [UIScreen mainScreen].bounds.size.height / 768;
  self.window.transform = CGAffineTransformMakeScale(scaleX, scaleY);
  CGRect rect = self.window.frame;
  self.window.frame = CGRectMake(0, 0, rect.size.width, rect.size.height);

2、屏幕尺寸的分辨率需要自己寫死,不能使用screen的bounds

#define SCREEN_WIDTH [UIScreen mainScreen].bounds.size.width 
改為 #define SCREEN_WIDTH 1024
#define SCREEN_HEIGHT [UIScreen mainScreen].bounds.size.height 
改為 #define SCREEN_HEIGHT 768

3、在window上添加視圖,不要使用window.center來讓視圖居中。因為window.frame.origin 已經(jīng)不是(0,0)了。

alertView.center = CGRectMake(1024 * 0.5, 768 * 0.5)

此方案的缺點

1、如果使window等比例縮放,iPad Pro 11英寸上下會有一點黑邊。
2、如果使window寬高縮放撐滿整個屏幕,iPad Pro 11英寸會略微有些變形,不明顯
3、會有點模糊,不明顯
4、如果哪天新出一款iPad寬高比和以前的iPad差別比較大,縮放方案就不適用了。

到此這篇關(guān)于IOS 屏幕適配方案實現(xiàn)縮放window的示例代碼的文章就介紹到這了,更多相關(guān)IOS 縮放window內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • iOS中block變量捕獲原理詳析

    iOS中block變量捕獲原理詳析

    這篇文章主要給大家介紹了關(guān)于iOS中block變量捕獲原理的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-12-12
  • IOS代碼筆記之網(wǎng)絡(luò)嗅探功能

    IOS代碼筆記之網(wǎng)絡(luò)嗅探功能

    這篇文章主要為大家詳細(xì)介紹了IOS網(wǎng)絡(luò)嗅探功能實現(xiàn)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-07-07
  • WKWebview非全屏自動播放h5視頻的實現(xiàn)方法(Swift、OC)

    WKWebview非全屏自動播放h5視頻的實現(xiàn)方法(Swift、OC)

    這篇文章主要給大家介紹了關(guān)于WKWebview非全屏自動播放h5視頻的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • iOS像素對齊概念解析

    iOS像素對齊概念解析

    這篇文章主要為大家詳細(xì)介紹了iOS像素對齊概念,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • ios 11和iphone x的相關(guān)適配問題及解決方法

    ios 11和iphone x的相關(guān)適配問題及解決方法

    這篇文章主要介紹了ios 11和iphone x的相關(guān)適配,文中給大家提到了在ios 11中,tableView會莫名偏移問題的解決方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-11-11
  • IOS關(guān)閉鍵盤的方法

    IOS關(guān)閉鍵盤的方法

    在iOS應(yīng)用開發(fā)中,有三類視圖對象會打開虛擬鍵盤,進(jìn)行輸入操作,但如何關(guān)閉虛擬鍵盤,卻沒有提供自動化的方法。這個需要我們自己去實現(xiàn)。
    2015-05-05
  • iOS基于UITableView實現(xiàn)多層展開與收起

    iOS基于UITableView實現(xiàn)多層展開與收起

    這篇文章主要為大家詳細(xì)介紹了iOS基于UITableView實現(xiàn)多層展開與收起的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • IOS 算法 三數(shù)之和求解問題

    IOS 算法 三數(shù)之和求解問題

    這篇文章主要介紹了IOS 算法 三數(shù)之和求解問題,屬于IOS 算法中級等級,感興趣的朋友請閱讀下文
    2021-09-09
  • iOS消息發(fā)送和轉(zhuǎn)發(fā)示例詳解

    iOS消息發(fā)送和轉(zhuǎn)發(fā)示例詳解

    這篇文章主要給大家介紹了關(guān)于iOS消息發(fā)送和轉(zhuǎn)發(fā)的相關(guān)資料,用Objective-C的術(shù)語來講,這叫做“給某個對象發(fā)送某條消息”。文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-03-03
  • iOS 無卡頓同時使用圓角、陰影和邊框的實現(xiàn)

    iOS 無卡頓同時使用圓角、陰影和邊框的實現(xiàn)

    這篇文章主要介紹了iOS 無卡頓同時使用圓角、陰影和邊框的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01

最新評論

喀什市| 随州市| 明溪县| 靖江市| 祥云县| 夏津县| 麻江县| 洞口县| 察雅县| 东至县| 威远县| 南皮县| 崇仁县| 射洪县| 五寨县| 新密市| 陇南市| 图片| 威宁| 扶余县| 靖江市| 高要市| 衡东县| 南平市| 嫩江县| 桂东县| 石狮市| 唐海县| 广西| 伊通| 唐山市| 定边县| 恩施市| 沿河| 濮阳市| 安吉县| 宣城市| 九寨沟县| 化德县| 清河县| 湖口县|