iPhone開發備忘學習筆記
iPhone開發備忘學習筆記是本文要介紹的內容,主要集合了iphone開發中幾個案例的實現,來看本文詳細內容介紹。
1、IOS開發中關于KMapView自定義calloutM
在做ios上面的的地圖應用的時候,有些時候需要自定義callout,找了很久,在國外網站上找到了一篇文章,講的就是自定義callout,網址:http://blog.asolutions.com/2010/09/building-custom-map-annotation-callouts-part-1/,但是這篇講的有點復雜,新手不太容易看懂,并且有些時候我們不需要這么復雜的實現,下面我就講一下原理。
其實說的是自定義callout,其實是通過兩個annotations來實現的,假設我們在地圖上面放置一個A,我們可以在相應選擇A之后在插上一個B,是B的偏移位置剛剛好在A的上面,就形成了callout的效果。
主要是要實現地圖的兩個代理方法:
- mapView:didSelectAnnotationView:
- mapView:didDeselectAnnotationView:
在***個代理方法中中插入B,在第二個方法中移除B。大概自定義的callout就是這樣實現的,有時間的話自己寫一個~~
2、iphone開發利用宏來確定是在仿真器或者真機中運行
- #if TARGETIPHONE_SIMULATOR
- #endif
- #if !(TARGET_IPHONE_SIMULATOR)
- #endif
當在仿真器中的時候會編譯1中的代碼。當在真機當中時會編譯2中的代碼。
3、iphone應用開發中關于Nib文件總結
剖析一個nib file。
當在運行時加載一個nib 文件,我們得到的只是此nib file的一個復制品。nib load代碼會實例化對象,配置他們,并建立你在IB中建立的連接。
interface對象:包括可視的和不可視的。可視的一般是一些view window之類的。不可視的是一些view controller之類的。
一個nib 文件最重要的一個對象就是Files owner對象。和其他的不同,Files owner對象是一個代理對象,當nib file加載的時候其不會創建,相反,在代碼中創建此對象,并將其傳遞給nib load 代碼。此對象之所以重要是因為他連接了應用程序代碼和nib file的內容。
Frist Responder是一個代理對象表示應用程序動態相應鏈的***個對象。因為一個應用程序的相應鏈在設計的時候是不能確定的。當從一個nib file加載到內存中,我不能什么都不用做對于First Responder。 AppKit and UIKit frameworks 會根據應用程序當前的配置自動的設置和管理the first responder。
4、iphone開發----獲得其他ipa程序的圖片資源(從ipa中提取png資源)
在我們開發的過程中,有些時候會覺得別人的寫得程序有些圖片資源比較好,想拿來用用,但是當我們把ipa解壓之后是不能看png資源的,因為apple再把ipa打包打包之前會將png資源以一種特殊的格式存儲,所以如果想要看ipa的png圖片,就要轉換了,詳細的解釋請看iPhone PNG Images Normalizer Python。本文只講方法,要用到一個python轉換腳本。
使用很簡單,把ipin.py腳本復制到解壓的ipa程序的目錄下,在命令行切換到你解壓的ipa程序的目錄下運行python ipin.py就可以了,這樣所以的png將被轉換成通常的png格式,就能看到了。
python腳本下載地址:http://u.115.com/file/aq2hi65i
小結:iPhone開發備忘學習筆記的內容介紹完了,希望通過本文的學習能對你有所幫助!