Time of Update: 2018-12-05
1. 類比 初學Ios開發,首先應該瞭解開發的應用所生存的環境。就像跳槽到某個公司做一枚碼農,你得先瞭解公司的各個部門,以便以後出了問題知道應該找哪個部門。Ios應用所生存的環境正是Ios作業系統。iOS的系統架構分為四個層次:核心作業系統層(Core OS layer)、核心服務層(Core Services layer)、媒體層(Media layer)和可觸摸層(Cocoa Touch layer),如: 2. Core OS—進階管理層
Time of Update: 2018-12-05
A FEW YEARS BACK I WROTE A TUTORIAL CALLED “THE SECRET BEHIND THE PAGE FLIP TECHNIQUE” for Silverlight Developers while working as Creative Director at the experience agency, cynergy. That blog post isn’t available anymore, and I haven’t touched
Time of Update: 2018-12-05
當你使用new alloc
Time of Update: 2018-12-05
KVO和KVC分別是Key-Value Observing和Key-Value
Time of Update: 2018-12-05
C#寫多了都忘記有前置聲明(Forward Declaration)這麼回事了,看到@class的時候楞了半天。今天就寫這個主題吧。 1. 為什麼需要前置聲明前置聲明有助於避免循環相依性。像:interface A:NSObject- (B*)calculateMyBNess;@end@interface B:NSObject- (A*)calculateMyANess; @end 這樣聲明無法編譯,因為會遇到先有雞還是先有蛋的問題。這時候就需要加一個前置聲明:@class
Time of Update: 2018-12-05
iphone 的模擬器 顯示跟iphone外觀一模一樣, 但是ipad 卻沒有ipad 的外觀, 怎麼讓它顯示出來home鍵。其實是有home鍵的.只不過你螢幕解析度不夠高,系統發現顯示不下了,就不顯示了.就比如如果你把模擬器設定為iPhone(retina)模式時,本應該是個超大的iPhone螢幕,但是有的顯示器解析度設定的太低就也沒法顯示.這種情況多發生在Mac電腦的螢幕在15寸以下的時候...可以讓你的電腦外接一個1080p的顯示器.或者,你可以通過點擊模擬器菜單的
Time of Update: 2018-12-05
1、Mac與IOS的體繫結構對比Mac:Cocoa、Media、Core Service、Core OSIos:Cocoa Touch、Media、Core Service、Core OS可以看出Ios和Mac的變化主要就在Cocoa Touch上面差別。Cocoa Touch允許你操作螢幕上的事件。1) Core OS:Os X Kernel、Mach 3.0、BSD、Sockets、Security、Power Manager、Keychain、Certificates、File
Time of Update: 2018-12-05
更新UI的操作在IOS中其實和在Android中是一致的,都是不能在主線程中執行比較耗時的操作,所以需要開啟新線程去做這些操作,以免阻塞主線程,當新線程中的操作完成之後,調用主線程來更新UI。下面就是一個這樣的例子:1、聲明ImageView控制項1 #import <UIKit/UIKit.h>2 3 @interface DemoDispatchQueueViewController : UIViewController4 @property(nonatomic,strong)
Time of Update: 2018-12-05
1. 專案經理 跳槽到新公司做苦逼的開發,初步瞭解了公司的各個部門之後,接下來就要瞭解產品部的開發流程了。 就像每個項目都有一個負責人(專案經理)一樣,每一個iPhone程式都包含一個UIApplication對象,它管理整個程式的生命週期,從載入第一個顯示介面開始,並且監聽系統事件、程式事件調度整個程式的執行。int main(int argc, char *argv[]) { NSAutoreleasePool * pool =
Time of Update: 2018-12-05
任何代碼自動產生工具都是初學者的大敵!這是我當年完全沒學過Windows程式,抱著本莫名其妙的教程,第一次用MS Visual Studio的Wizzard產生的程式碼時的感悟。現在想想真的很好笑,一個對Event
Time of Update: 2018-12-05
首先看兩個runloop的樣本,來源:http://paste.lisp.org/display/86524第一個: #include <CoreFoundation/CoreFoundation.h> static void _perform(void *info __unused) { printf("hello\n"); } static void _timer(CFRunLoopTimerRef timer __unused, void *inf
Time of Update: 2018-12-05
http://blog.csdn.net/duanyipeng/article/details/7101829一、iOS應用程式狀態機一共有五種狀態:1. Not
Time of Update: 2018-12-05
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization after application launch.
Time of Update: 2018-12-05
基本原理就是主要將UIView的layer描繪到圖形上下文。UIView全域拍照和局域拍照的代碼如下:1 UIView全域拍照- (UIImage *) screenImage:(UIView *)view { UIImage *screenImage; UIGraphicsBeginImageContext(view.frame.size); [view.layer renderInContext:UIGraphicsGetCurrentContext()];
Time of Update: 2018-12-05
內容其實很簡單,只是有時候忘記了;在我們設定rightBarButton/leftBarbutton有時候發現系統的並不好看,想自訂,於是就是有這種想法了:直接上代碼,如下NSInteger width = [[UIScreen mainScreen]bounds].size.width - 20; //擷取系統的widthUIView *view_title = [[UIView alloc]initWithFrame:CGRectMake(width, 10, 20, 20)];
Time of Update: 2018-12-05
接入官網入手指南:http://open.weixin.qq.com/document/gettingstart/ios/;其實已經很詳細了,下面我簡單筆記下注意事項:1.如果“URL scheme”為你所註冊的應用程式id 未添加,會導致完成發送時"返回(NULL)",而且不會自動結束用戶端;因為配置了應用ID,內部會自動結束程式;2.官方SDK Sample Demo源碼 需要在真機上調試,模擬器上面無反應的;3.開發手冊很詳細,分享到回話和朋友圈://req.scene =
Time of Update: 2018-12-05
UIInterfaceOrientationPortrait: 正常UIInterfaceOrientationPortraitUpsideDown: 轉180度UIInterfaceOrientationLandscapeLeft: 向左轉90度UIInterfaceOrientationLandscapeRight: 向右轉90度1.
Time of Update: 2018-12-05
檢測iPhone 5/iOS 6 檢測iOS 6很簡單,用ua就可以了:Mozilla/5.0 (iPhone; CPU iPhone OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A403 Safari/8536.25但是刷了iOS 6的所有iPhone的ua都是這個,那麼判斷是否是iPhone 5就要用js或者media
Time of Update: 2018-12-05
近期將xcode升級到了4.2,SDK是 iOS5。在 iOS 5 下,以前可以正常工作的 NSOperation,會崩潰。崩潰的原因是:取消隊列中的操作,但是該操作還沒有開始。解決這個問題的方法是: 在 start 方法中判斷操作是否已經取消,如果取消,結束操作,沒有取消,再執行操作。 在 cancel 方法中判斷操作是否正在執行,如果在執行,結束操作,如果沒有,修改操作的isCancelled狀態。標頭檔:#import
Time of Update: 2018-12-05
一維碼:barcode二維碼:two-dimensional barcode在 iOS 下主要有兩個開源庫可以用來處理條碼:1、Zxing:http://code.google.com/p/zxing2、ZBar:http://zbar.sourceforge.net/兩個庫都有相應的 demo 程式。其中,zxing 對 Android 支援更好。相應的缺點:1、With ZBar I had problems with large QRCodes。2、ZXing works fine on