Time of Update: 2014-02-14
在ios7之前,一直在使用開源的EGO庫。但是,在使用過程中發現,普遍封裝得過於複雜、耦合性強,不利於整合到自己的項目中。另外,在ios7之後,一些原有的下拉重新整理,上提載入控制項表現的就不是那麼出色了。除了可能出錯外,也不符合扁平化的風格。後來,在code4App上發現了一個大牛上傳了一個開原始碼, 僅需幾行代碼就可以為UITableView或者CollectionView加上下拉重新整理或者上拉重新整理功能。可以自訂上下拉重新整理的文字說明。下載下來自己試了下,發現不錯。
Time of Update: 2014-02-14
初步寫一些自己對於lazyload的看法吧。這篇文章主要針對普通view,對於image相關的的懶載入,準備過幾天研究一下在寫。懶載入,又稱為消極式載入。通常用法,你有一個UITextField類型的property,簡單定義為userNameTextField,但是你不在初始化方法裡為其alloc/init,它就只是一個指標,不會佔用記憶體。只是載入到你預想載入到的View上。如:[self
Time of Update: 2014-02-14
在Windows時代,大家肯定對SendMessage,PostMessage,GetMessage有所瞭解,這些都是windows中的訊息處理函數,那對應在ios中是什麼呢,其實就是NSRunloop這個東西。在ios中,所有訊息都會被添加到NSRunloop中,分為‘input source’跟'timer
Time of Update: 2014-02-11
一、什麼是庫?庫是共用程式碼的方式,一般分為靜態庫和動態庫。二、靜態庫與動態庫的區別?靜態庫:連結時完整地拷貝至可執行檔中,被多次使用就有多份冗餘拷貝。動態庫:連結時不複製,程式運行時由系統動態載入到記憶體,供程式調用,系統只載入一次,多個程式共用,節省記憶體。三、iOS裡靜態庫形式?.a和.framework四、iOS裡動態庫形式?.dylib和.framework五、framework為什麼既是靜態庫又是動態庫?系統的.framework是動態庫,我們自己建立的.framework是靜態庫。
Time of Update: 2014-02-12
instancetype: 使用 instancetype 編譯器和IDE 會做類型檢查,而id不會做完整的類型檢查。A method with a related result type can be declared by using the type instancetype as its result type. instancetype is a contextual keyword that is only permitted in the
Time of Update: 2014-02-11
UIImage圖片轉成base64字串: UIImage *_originImage = [UIImage imageNamed:@"full_playlist_hl.png"]; NSData *_data = UIImageJPEGRepresentation(_image, 1.0f); NSString *_encodedImageStr = [_data base64Encoding]; NSLog(@"===Encoded image:\n%@",
Time of Update: 2014-02-11
n the apple sample code "SpeakHere" you can do some thing like this:AudioQueueNewInput( &mRecordFormat, MyInputBufferHandler, this /*
Time of Update: 2014-02-11
使用http請求jsp 返回更新內容starttime ){ map.put("sale","為了答謝新老客戶的厚愛,.........優惠資訊。"); } if (dv=1.00)||(dv
Time of Update: 2014-02-11
#UserDefault tips##跟版本有關的變數存在UserDefault中要加版本號碼>例如,hasShowGuide //是否已經顯示了引導頁>,應該是hasShowGuide1_1_0這樣的##添加的版本號碼應該用infoDictionary取得。> 注意在新的版本中是否要清理之前版本不用的變數> ,還有變數的有效期間問題,如果下版本無效,在使用時要注意版本判斷。©dacaiguoguo
Time of Update: 2014-02-11
在debug下顯示log,在release下自動屏蔽log輸出的代碼。花了點時間,將網上的兩種NSLog最佳化的方法綜合了一下。具體如下:一、建立一個.h檔案,命名為DLog.h。DLog.h檔案內容為://添加定義,在release時不會輸出log#ifndef __OPTIMIZE__#define NSLog(...) NSLog(__VA_ARGS__)#else#define NSLog(...) {}#endif另一種#ifndef __OPTIMIZE__#define DLog(
Time of Update: 2014-02-09
效果: 要想成功顯示一個UIPopoverController,需要經過下列步驟:由於UIPopoverController直接繼承自NSObject,不具備可視化的能力,因此UIPopoverController上面的內容必須由另外一個繼承自UIViewController的控制器來提供,這個稱為“內容控制器” @interfaceQCLocationButton()
Time of Update: 2014-02-11
我們經常會遇到在一個應用裡面呼出另一個應用的需求,比如在文檔裡面點擊地址,調用safari來開啟網頁;比如在檔案瀏覽器裡面點擊某種檔案,自動啟用一個應用來開啟檔案。 iOS裡面對於這樣的需求使用URL來實現,把其他的應用看成一種資源,本質上就是調用系統資源。 我們有兩個應用App1和App2,在App2裡面呼出App1,那麼首先要配置App1,讓系統認識App1的URL,這個就是配置info.plist檔案的某些項,在Xcode裡面就是配置一些選項,在Xcode4.6
Time of Update: 2014-02-11
touch事件分為3類觸控事件(單點、多點觸控以及各種手勢操作)感應器事件(重力、加速度感應器等)遠端控制事件(遠程遙控iOS裝置多媒體播放等)觸控事件分為加入了手勢
Time of Update: 2014-02-09
注意要引入AudioToolbox.framework。在iOS6,iOS7上測試通過。private api有風險,注意不要在上架app中使用。 NSMutableDictionary* dict = NSMutableArray* arr = [arr addObject:[NSNumber numberWithBool:YES]]; [arr addObject:[NSNumber numberWithInt: [dict setObject:arr forKey: [dict
Time of Update: 2014-02-08
眾所周知,沒有哪一個工具能像html/css那樣如此輕易的構建複雜的介面,為了保證良好的使用者體驗,有時我們可能會選擇使用html的方式來展示複雜度高,複用性低的介面,在iOS平台,選擇UIWebView是非常自然的,那麼我根據最近的一個iPad上的珠寶導購項目來向大家總結一下iOS平台結合HTML5使用UIWebView的小Tips。1、載入本地html代碼這段代碼載入了項目資源路徑下www目錄裡面的index.html檔案NSString *path = [[NSBundle
Time of Update: 2014-02-08
知識點:(1)Image View控制項目前用的方法是pokerImage.image = [UIImage imageNamed:@”picturename.png”];注意:+ (UIImage *)imageNamed:(NSString *)name這種方法在application bundle的最上層資料夾尋找由供應的名字的圖象 。
Time of Update: 2014-02-08
前言:學完了底層c,c++之後,現在開始重新回頭進行上層的介面設計。既然做了就要做好,就如同過去c,c++做的一樣。過去的一年的時間精看了深入淺出mfc,C++程式設計語言,effective-c++,GOF和大話設計模式,粗看了more effective c++, c++ premier,linux程式設計,harly guide linux,
Time of Update: 2014-02-08
移動平台上的開發主要關注資料以及資料的處理,事件的處理以及UI。所以事件的分發處理是很重要的一個環節,對於一個平台的優劣來說也是一項重要的參數。如果事件的分發設計的不好,一些複雜的UI情境就會變得很難寫甚至沒法寫。從小屏沒有觸摸的功能機開始到現在大屏多點觸摸的智能機,對於事件的分發處理基本思路都是一樣的——鏈(設計模式中有個模式就是職責鏈chain of responsibility),只是判定的複雜程度不同。
Time of Update: 2014-02-08
iOS Dev (44) SKTextureAtlas簡介 標頭檔定義 SpriteKit/SKTextureAtlas.h#import #import SK_EXPORT @interface SKTextureAtlas : NSObject + (SKTextureAtlas *)atlasNamed:(NSString *)name;- (SKTexture *)textureNamed:(NSString *)name;+
Time of Update: 2014-02-08
iOS Dev (48) initializer 和 convenience constructor initializer這個你應該很熟悉。- (id)initWithSomething;convenience constructor但是在實際運用中,我們經常用的寫法是:[[Foo alloc] init];如果把這貨定義成一個方法,如下:+ (id)buildInstance;除了寫著簡單,還有啥區別?initializer 會被編譯器自動地寫成:-