您好,登錄后才能下訂單哦!
【1】在不同的分辨率的設備中(iPhone4 320*480 iPhone4S 640*960 iPhone 5 960*1136),全屏顯示的圖片在某種模擬器中顯示全屏,但是在其它模擬器中會顯示空白。此種方法沒有在多種實際設備中檢測
以xCode4.5.2建立的ios6的默認程序為例:
· 條件
⁃ 默認設置的view的Simulated Metrics項下的Size屬性為Retina 4 Full Screen
▪ 問題描述
⁃ 如果默認的高度為1136的圖片尺寸在Retina 4-inch/ios6顯示正常,則在Retina 3.5-inch/ios6和其它尺寸下會出現空白。
▪ 解決辦法
⁃ 1.在xCode的屬性中修改成對應的Simulated Metrics Size屬性,則會對應的顯示正常。(如果App的設備不一致,則一樣會顯示空白)
⁃ 2.在代碼中,在非iPhone5設備的情況下將高度進行100個單位的調整。
▪ 參考范例可以
⁃ 參考HugeImageDemo3范例
【2】當xCode中的App顯示為紅色的時候,需要檢查Bundle Identifier中的標識是否與App ID中申請的一樣,再檢查App ID是否正確。有時候需要從菜單中選擇clean和build,如果還是顯示為紅色,則需要連接設備運行一次
【3】獲取當前窗口
[[UIApplication sharedApplication] keyWindow]
獲取當前窗口視圖
[UIApplication sharedApplication].keyWindow.rootViewController
【4】nil和release的作用:
nil就是把一個對象的指針置為空,只是切斷了指針與內存中對象的聯系;而release才是真正通知內存釋放這個對象,但是在IOS中其實也不會立馬釋 放內存,而是將內存計數器剪去1,直到計數器變為0,才會釋放掉內存,所以release的目的是為了釋放內存,而self.object = nil,是清空指針。
所以nil并沒有釋放內存,只有release才回真正釋放內存。
二者使用的先后順序:
如果沒有release就直接nil,那么雖然不會出錯,卻等于自己制造內存泄漏了,因為nil之后release就已經不起作用了。
相反,如果在使用接口對象時只僅僅release沒有設置self.myOutlet = nil,那么程序可能也不會報錯,但卻會十分不穩定、不健壯,很容易發生崩潰現象。
因為一個接口對象在release之后,給它所分配等內存就已經被釋放了,如果釋放之后系統再用到這個對象,那么程序就會crash。
如果釋放之后把它的指針置為空,則即便后面的程序用到該對象,也不會崩潰。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。