Time of Update: 2014-02-14
上一篇文章講了iOS模擬器的基本用法,這一篇主要講模擬器更深層次的用法,對開發、測試有用,主要參考了apple官方文檔。與模擬器互動Menu optionHardware actionRotate LeftRotates the simulator to the left.(向左旋轉,測試橫豎屏切換)Rotate RightRotates the simulator to the right.(向右旋轉,測試橫豎屏切換)Shake GestureSimulates shaking the
Time of Update: 2014-02-14
在項目開發中使用iOS內建的導航,因為其樣式修改起來比較麻煩,這裡我自己寫了一個類似的切換方式。我自己覺得還挺好用的,可能是因為代碼是自己寫的吧。。先把代碼附上:BaseContentViewController.h//// BaseContentViewController.h// NewPICCProject//// Created by 杜甲 on 14-1-26.// Copyright (c) 2014年 杜甲. All rights
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
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
知識點:(1)Image View控制項目前用的方法是pokerImage.image = [UIImage imageNamed:@”picturename.png”];注意:+ (UIImage *)imageNamed:(NSString *)name這種方法在application bundle的最上層資料夾尋找由供應的名字的圖象 。
Time of Update: 2014-02-08
本教程建立在之前關於Storyboard建立的項目上。你會使用你所學到如何使用設計模式,與Fundaction的工作,並編寫自訂類中添加動態資料支援你的todolist的應用程式。 本教程教您如何: 1.與普通基礎類工作 2.建立自訂資料類 3.實現一個委託和資料來源協議 4.通過視圖控制器之間的資料 5.在您完成本教程中的所有步驟,你就會有一個應用程式,看起來像這樣:
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 會被編譯器自動地寫成:-