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

詳解Android中Runtime解決屏幕旋轉(zhuǎn)問(wèn)題(推薦)

 更新時(shí)間:2016年09月17日 10:59:48   作者:Silktree  
這篇文章主要介紹了Runtime解決屏幕旋轉(zhuǎn)問(wèn)題的方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下

前言

大家或許在iOS程序開(kāi)發(fā)中經(jīng)常遇到屏幕旋轉(zhuǎn)問(wèn)題,比如說(shuō)希望指定的頁(yè)面進(jìn)行不同的屏幕旋轉(zhuǎn),但由于系統(tǒng)提供的方法是導(dǎo)航控制器的全局方法,無(wú)法隨意的達(dá)到這種需求。一般的解決方案是繼承UINavrgationViewController,重寫該類的相關(guān)方法,這樣雖然也能解決問(wèn)題,但是在重寫的過(guò)程中至少產(chǎn)生兩個(gè)多余的文件和不少的代碼,這顯然不是我們想要的。下面就使用一種較底層的方法解決這個(gè)問(wèn)題。

基本原理

動(dòng)態(tài)的改變UINavrgationViewController的全局方法,將我們自己重寫的supportedInterfaceOrientations、shouldAutorotate方法和導(dǎo)航控制器對(duì)象的方法進(jìn)行替換即可。

準(zhǔn)備工作

配置項(xiàng)目支持方向

代碼實(shí)現(xiàn)

將下面的方法寫在所有視圖控制器的父類的viewDidLoad方法中,即可完成屏幕旋轉(zhuǎn)方向的配置。

//獲取當(dāng)前視圖控制器的旋轉(zhuǎn)支持方法
Method selfMtihod = class_getInstanceMethod([self class], @selector(shouldAutorotate));
//獲取當(dāng)前導(dǎo)航控制器的旋轉(zhuǎn)支持方法
Method navr = class_getInstanceMethod([self.navigationController class], @selector(shouldAutorotate));
//交換方法
method_exchangeImplementations(selfMtihod, navr);
//以下同理
Method selfOrientation = class_getInstanceMethod([self class], @selector(supportedInterfaceOrientations));
Method navrOrientation = class_getInstanceMethod([self.navigationController class], @selector(supportedInterfaceOrientations));
method_exchangeImplementations(selfOrientation, navrOrientation);

使用方法

在上面的父類中重寫supportedInterfaceOrientations、shouldAutorotate,表示默認(rèn)的屏幕旋轉(zhuǎn)相關(guān)屬性。

在之后的每個(gè)該試圖控制器的子類中,可重寫supportedInterfaceOrientations、shouldAutorotate方法,即可完成指定視圖控制器方向的需求。

以上所述是小編給大家介紹的Runtime解決屏幕旋轉(zhuǎn)問(wèn)題的方法詳解,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)歡迎給我留言,小編會(huì)及時(shí)回復(fù)大家的,在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

最新評(píng)論

郎溪县| 迁西县| 赣州市| 永济市| 武定县| 阜新| 华容县| 恭城| 东港市| 盘山县| 依安县| 保定市| 西乌| 政和县| 铅山县| 永春县| 芮城县| 尼木县| 济源市| 分宜县| 秦皇岛市| 麟游县| 平江县| 新河县| 罗山县| 诏安县| 南召县| 拉萨市| 克拉玛依市| 志丹县| 玉门市| 秦皇岛市| 余姚市| 白城市| 咸丰县| 巴马| 安平县| 军事| 太仓市| 塔河县| 伊金霍洛旗|