Time of Update: 2014-02-11
一、什麼是庫?庫是共用程式碼的方式,一般分為靜態庫和動態庫。二、靜態庫與動態庫的區別?靜態庫:連結時完整地拷貝至可執行檔中,被多次使用就有多份冗餘拷貝。動態庫:連結時不複製,程式運行時由系統動態載入到記憶體,供程式調用,系統只載入一次,多個程式共用,節省記憶體。三、iOS裡靜態庫形式?.a和.framework四、iOS裡動態庫形式?.dylib和.framework五、framework為什麼既是靜態庫又是動態庫?系統的.framework是動態庫,我們自己建立的.framework是靜態庫。
Time of Update: 2014-02-11
...說實在, 系統內建的Activity Indicator View實在是太難看了,就一菊花。參考了他人項目後,仿照做了個繞圈的活動指標(Activity Indicator View).效果如下:具體實現方法:1.匯入 MRActivityIndicatorView.h 和 MRActivityIndicatorView.m 檔案2.在需要使用的地方, 導人標頭檔 #import "MRActivityIndicatorView.h"3.聲明變數。@property
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
眾所周知,沒有哪一個工具能像html/css那樣如此輕易的構建複雜的介面,為了保證良好的使用者體驗,有時我們可能會選擇使用html的方式來展示複雜度高,複用性低的介面,在iOS平台,選擇UIWebView是非常自然的,那麼我根據最近的一個iPad上的珠寶導購項目來向大家總結一下iOS平台結合HTML5使用UIWebView的小Tips。1、載入本地html代碼這段代碼載入了項目資源路徑下www目錄裡面的index.html檔案NSString *path = [[NSBundle
Time of Update: 2014-02-08
一、在應用間利用KeyChain共用資料我們可以把KeyChain理解為一個Dictionary,所有資料都以key-value的形式儲存,可以對這個Dictionary進行add、update、get、delete這四個操作。對於每一個應用來說,KeyChain都有兩個訪問區,私人區和公用區。私人區是一個sandbox,本程式儲存的任何資料都對其他程式不可見。而要想在將儲存的內容放在公用區,需要先聲明公用區的名稱,官方文檔管這個名稱叫“keychain access
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
方法定義對象的行為方法定義了一個對象可以做。一種方法是一段代碼,你要定義在一個類中執行任務或子程式。方法可以訪問儲存在類資料,並且可以使用該資訊來執行某種操作。 例如,給一個待辦事項(XYZToDoItem)的能力得到標記為已完成,你可以添加一個markAsCompleted方法的類的介面。稍後,您將在類實現實現此方法的行為,如實施辦法描述。@interface XYZToDoItem : NSObject @property NSString *itemName;@property BOOL
Time of Update: 2014-02-08
前面分析了一通iOS事件的分發,主要介紹了事件如何找到處理的view,又是如何按照responder chain逐級傳遞的。這篇文章主要介紹iOS事件的攔截以及特殊處理。 我們知道事件的分發是由Application到Window再到各級View的,所以顯然最安全可靠的攔截地方是Application。這裡攔截事件後如果不手動往下分發,則進入hit-test View過程的機會都沒有。
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
在ios7之前,在AppDelegate裡用這行代碼就可以隱藏狀態列:[[UIApplication sharedApplication] setStatusBarHidden:YES];但是在ios7下,這行代碼不生效,需要先在項目的plist檔案裡增加一個配置:UIViewControllerBasedStatusBarAppearance或者用圖形化頁面添加View controller-based status bar
Time of Update: 2014-02-08
移動平台上的開發主要關注資料以及資料的處理,事件的處理以及UI。所以事件的分發處理是很重要的一個環節,對於一個平台的優劣來說也是一項重要的參數。如果事件的分發設計的不好,一些複雜的UI情境就會變得很難寫甚至沒法寫。從小屏沒有觸摸的功能機開始到現在大屏多點觸摸的智能機,對於事件的分發處理基本思路都是一樣的——鏈(設計模式中有個模式就是職責鏈chain of responsibility),只是判定的複雜程度不同。
Time of Update: 2014-02-08
EXC_BAD_ACCESS,錯誤一般是由於自動釋放引起的,其本質是記憶體管理問題SIGABRT,錯誤一般使用了該對象或類型無效的方法或屬性等引起的比如:[NSNull null] length,就會引起這個問題,因為此對象沒有length方法app+lib開發應用程式:在ios release版本產生時候,如果lib發生改變,app未改變,有可能產生的app是引用的old lib;建議在app代碼中某地方新增一個空格,再次編譯,這個時候產生的app是引用最新的lib;在debug或模擬器版本,
Time of Update: 2014-02-08
在2011的WWDC上,蘋果推出了GCD,從此多線程增加了一種新的方法。GCD要求運行在iOS4.0版本以上或者OS X10.6版本以上。GCD是Grand Central Dispatch的縮寫,是一組用於實現並發編程的C介面。GCD是基於Objective-C的Block的特性開發的,基本的商務邏輯和NSOperation很像。都是添加一個任務到一個隊列,由系統來負責線程的產生和調度。因為直接使用Block,所以使用起來很是方便,降低了多線程開發的門檻。
Time of Update: 2014-02-08
昨天使用ios7SDK build的時候,發現了幾個warning,原來以前寫的內購方法,有些在ios7下棄用了。今天改了下,順便代碼也發上。PGStoreKitManager.h //// PGStoreKitManager.h// OCPhysicGame//// Created by LiuYanghui on 14-1-26.// Copyright (c) 2014年 LiuYanghui. All rights reserved.
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 會被編譯器自動地寫成:-
Time of Update: 2014-02-08
0.前言 在項目開發中,我們經常會碰到,某些視圖View 內部基本空間都一樣,只是資料不同,這時,我們可以用xib來將這個視圖封裝起來多次重用, (例如,大小固定 控制項固定的TableViewCell) 這可以儘可能的加快我們的項目開發進度。 1.介紹一下xib的基本使用 A.