Time of Update: 2013-12-10
到目前為止也做了些對舊工程適配ios6和iphone5的工作,總結了一些東西: 1.開發iphone5和ios6版本最低需要使用xcode4.5,而xcode4.5不再支援armv6即:iOS4.3.3以下的系統.不被支援的硬體裝置包括:iPod 2nd gen, iPhone 3G 或更老的iPhone例如我打包時的錯誤提示就是:warning: iOS deployment targets lower than 4.3 are not supported
Time of Update: 2013-12-10
前兩天在我的微博裡提到iPhone 5的適配真是體力活,安卓的同學笑而不語⋯⋯要適配iPhone 5,需要做以下一些基本動作:1. 提供一張1136 * 640的啟動頁面:否則App運行在iPhone 5上,螢幕的上下兩邊都會有黑色橫條。2. 不要使用480、460甚至是320等數值來進行布局。我們可以提供一些基本的宏:[cpp] #define APP_SCREEN_BOUNDS [[UIScreen mainScreen]
Time of Update: 2013-12-10
============================================================詳解iPhone 下AsyncSocket網路程式庫編程是本文要介紹的內容,iphone的標準推薦CFNetwork C庫編程.但是編程比較煩躁。在其它OS往往用類來封裝的對Socket函數的處理。比如MFC的CAsysncSocket.在iphone也有類似於開源項目.cocoa
Time of Update: 2013-12-10
我們知道在IOS工程裡用Prefix.pch檔案可以做一些先行編譯的操作,比如引入全域標頭檔和定義常量。 今天準備寫一個Demo的時候遇到一個不可思議的問題,就是不管我怎麼弄,在pch檔案中引入標頭檔就是報錯,說找不到那個檔案,可是檔案名稱我都是用自動協助工具功能打出來的怎麼可能找不到呢。 再詳細的分析之後發現問題在於我亂用了括弧……
Time of Update: 2013-12-10
引用內容warning C4996: 'strcpy': This function or variable may be unsafe.Consider using strcpy_s instead. To disable deprecation, use_CRT_SECURE_NO_WARNINGS. See online help for details. 從IDE添加宏定義來把他去掉: 菜單: 項目
Time of Update: 2013-12-10
平鋪導航模式是非常重要的導航模式。一般用於簡單的扁平化資訊瀏覽或任務。扁平化資訊是指這些資訊之間沒有從屬的層次關係,如中國的城市中北京、上
Time of Update: 2013-12-10
剛在做一個在iOS裝置上實現搖晃進而觸發一些體驗的功能,現在網上大概搜了一下,然後看了一下開發文檔,一個感觸是,網上劣質文章太多了,盲目轉載拷貝的文章也很多,重樣而且還都沒有講清實現原理,與其去網上費時搜,還不如看一下開發文檔,很快就可以解決需要解決的問題。 具體實現方法:iOS的SDK中已經將shake
Time of Update: 2013-12-10
出於使用者體驗大多數應用在應用初次開機時,顯示一個簡單的介紹頁面也就是使用者引導頁面,如下效果: 自己也試著嘗試了一下,主要是使用scrollview實現視圖的切換,當切換到最後一張時會出現一個開始按鈕,點擊開始按鈕關閉引導。 開始按鈕點擊處理: [cpp] - (IBAction)startButtonDidPressed:(id)sender{
Time of Update: 2013-12-10
[cpp]?UIImage *im = [UIImage imageWithContentsOfFile:path];//通過path圖片路徑擷取圖片 NSData *data = UIImagePNGRepresentation(im);//擷取圖片資料 /* ios中擷取圖片的方法有兩種,一種是UIImageJPEGRepresentation
Time of Update: 2013-12-10
在iOS開發中,需要和WEB伺服器進行互動,如將一批來自WEB
Time of Update: 2013-12-10
第三方的等待指標,MBProgressHUD就是第三方提供的等待指標架構。下面是MBProgressHUD提供的等待指標樣式,它們基本可以分為:未知結束時間和已知結束時間兩大類等待指標,在MBProgressHUD中可以為等待指標添加標籤和詳細標籤 我們將下載的源檔案中的MBProgressHUD.h和MBProgressHUD.m拷貝到自己的工程中,MBProgressHUD依賴的架構有:Foundation.framework、UIKit.framework
Time of Update: 2013-12-10
NSString、NSArray、NSData、NSDictionary都實現了NSCoding協議,可直接通過調用writeToFile歸檔,那麼OBJC自訂物件類型呢?首先實現NSCoding協議,重寫encodeWithCode方法和initWithCode方法,然後通過NSKeyedArchiver轉換為NSData,然後通過NSData的writeToFile方法寫入到檔案,或者將轉換後的NSData放入到NSArray或NSDictionary中調用writeToFile寫入到檔案便
Time of Update: 2013-12-10
UITableView的強大更多程度上來自於可以任意自訂UITableViewCell儲存格。通常,UITableView中的Cell是動態,在使用過程中,會建立一個Cell池,根據每個cell的高度(即tableView:heightForRowAtIndexPath:傳回值),以及螢幕高度計算螢幕中可顯示幾個cell。而進行自訂TableViewCell無非是採用代碼實現或採用IB編輯nib檔案來實現兩種方式,本文主要收集代碼的方式實現各種cell自訂。如何動態調整Cell高度 -
Time of Update: 2013-12-10
1.在建立了UITabBarController之後,先把UITabBar 設定成了 (0 440; 320 40),然後輸出 NSLog(@"%@",[self.view subviews]); 一般會返回類似這樣的結果 ( "<UITransitionView: 0x18dfb0; frame = (0 0; 320 431); clipsToBounds = YES;
Time of Update: 2013-12-10
關於在App啟動時播放一段動畫,可以用flash直接播放,也可以用多張連續的圖片來實現,在項目中,我選擇了後者。通過連續的多張圖片做齣動畫效果,系統內建的UIImageView就能完成這個功能,一開始我也這麼做的,但是最後發現記憶體爆了,佔了800M多(iPAD)。(注:一張100K的png圖片初始化為Image放到記憶體後會佔用幾M到幾十M的空間不等)
Time of Update: 2013-12-10
1 前言UIWebView控制項可以正確的動態載入Web頁面,我們可以通過UIWebView類行駛IOS上Safari的所有許可權。2 代碼執行個體自訂UIWebView內容:ZYViewController.h:[plain]#import <UIKit/UIKit.h> @interface ZYViewController : UIViewController @property(nonatomic,strong)
Time of Update: 2013-12-10
1 前言如果我們對IOS SDK提供我們的附屬視圖不滿意的話,我們可以自己自訂附屬視圖,還可以對其進行縮排排版。2 代碼執行個體ZYUITableViewController.h: [plain]#import <UIKit/UIKit.h> @interface ZYUITableViewController :
Time of Update: 2013-12-10
問題描述:在IOS中有三個nsmutable數組。要使用printer列印類似下面的資料,怎麼實現?舉例:[plain]0.5 1 10 1 10 11 2 5 22 3
Time of Update: 2013-12-10
今天新同事問了一些關於什麼時候用全域變數,什麼時候用self.賦值的問題,所以筆者在此說明一下。何時使用self.在網上搜尋或者論壇裡的回複大多都是簡簡單單的說這與objc的存取方法有關,如何與存取方式有關究竟他們之間的是什麼樣的關係就很少有同學回答了。下面以代碼來說明問題:建立一個Student類,繼承NSObject類,代碼:01 #import <Foundation/Foundation.h>02 03 @ interface
Time of Update: 2013-12-10
1 前言利用 UIPanGestureRecognizer 這個手勢辨識器, 來實現圖層的拖拽。2 代碼執行個體ZYViewController.m [plain]@synthesize helloWorldLabel; @synthesize panGestureRecognizer; - (void)viewDidLoad { [super viewDidLoad]; &