Time of Update: 2018-12-03
這篇文章主要講的表格的操作包括:標記行、移動行、刪除行、插入行。這次就不從頭建立工程了,在http://www.oschina.net/code/snippet_164134_9876下載工程。這個工程就是最簡單的產生一個表格並向其中寫入資料。用Xcode 4.2開啟它,在這個工程基礎上實現以上操作。1、標記行這裡講的標記行指的是單擊此行,可以實現在此行右邊出現一個勾,如所示:為了實現標記功能,在ViewController.m中@end之前添加代碼:#pragma mark -#pragma
Time of Update: 2018-12-03
iOS中編碼轉化1.UTF-8轉化 NSString *data = @"你好,北京!"; //轉換成UTF-8 NSString *dataUTF8 = [datastringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; NSLog(@"%@",dataUTF8); //UTF-8轉GBK,將UTF8代碼替換,官方解釋如下。//Replaces all percent escapes
Time of Update: 2018-12-03
比較原始的方法:AsyncImageView.h:#import <UIKit/UIKit.h>@interface AsyncImageView : UIView{ NSURLConnection* connection; NSMutableData* data;} - (void)loadImageFromURL:(NSURL*)url;@endAsyncImageView.m:#import "AsyncImageView.h"@implementation
Time of Update: 2018-12-03
從開始從事OC工作到現在大概1年多了,從當初接觸oc的"協議"的不明白,到現在代碼中隨處可見的委託,協議,其中感悟頗多。首先,大家應該都明白的是委託是協議的一種,顧名思義,就是委託他人幫自己去做什麼事。也就是當自己做什麼事情不方便的時候,就可以建立一個委託,這樣就可以委託他人幫自己去實現什麼方法。其次,我簡單的總結了一下自己用到的委託的作用有兩個,一個是傳值,一個是傳事件。1.所謂傳值經常用在b類要把自己的一個資料或者對象傳給a類,讓a類去展示或者處理。(切分緊耦合,和代碼分塊的時候經常用)2.
Time of Update: 2018-12-03
1.概述UIKit直接將動畫整合到UIView類中,實現簡單動畫的建立過程。UIView類定義了幾個內在支援動畫的屬性聲明,當這些屬性發生改變時,視圖為其變化過程提供內建的動畫支援。執行動畫所需要的工作由UIView類自動完成,但仍要在希望執行動畫時通知視圖,為此需要將改變屬性的程式碼封裝裝到一個代碼塊中。2.UIView動畫具體建立方法- (void)buttonPressed{// 交換本視圖控制器中2個view位置 [self.view
Time of Update: 2018-12-03
我們知道iOS開啟背景工作後可以獲得最多600秒的執行時間,而一些需要在後台下載或者與伺服器保持串連的App是如何突破600秒的限制的呢?像網易公開課就可以在後台持續下載,優酷也可以在後台持續緩衝,這是怎麼做到的呢?一般來說,要實現iOS長時間後台運行,需要聲明VOIP、Audio或GPS。 Audiosession 實現方法很簡單,就是在後台一直播放一個無聲的音樂檔案,這樣就相當於聲明了Audio,就可以輕鬆突破600秒的限制了。 通過播放“靜默”音讓程式在後台執行的做法(即在audiouni
Time of Update: 2018-12-03
代碼簡化, 促進跨平台開發的目的. typedef 行為有點像 #define 宏,用其實際類型替代同義字。 不同點:typedef 在編譯時間被解釋,因此讓編譯器來應付超越前置處理器能力的文本替換。用法一:typedef int (*MYFUN)(int, int); 這種用法一般用在給函數定義別名的時候上面的例子定義MYFUN 是一個函數指標, 函數類型是帶兩個int 參數, 返回一個int 在分析這種形式的定義的時候可以用下面的方法: 先去掉typedef
Time of Update: 2018-12-03
在iOS開發上,如果遇到需要播放影片,如開機動畫…,我們很習慣地會使用MediaPlayer來播放影片,因為很方便使用,所以就一直使用下去。但是隨著客戶的要求越來越嚴苛,尤其是過場動畫或互動效果上的表現。所以如果在一些動畫中還挾帶影片一起運算,那勢必機器會跑不動。所以在iOS 4之後,我們可以使用AVPlayer這個類別來進行更細微的操作。備註:MediaPlayer的影片是放在UIView
Time of Update: 2018-12-03
1、開發iOS系統下靜態連結庫 開啟XCode建立一個項目,選擇Library下的“Cocoa Touch Static Library”並命名為“EncryptLibrary”。這個建立的靜態庫項目下除了“EncryptLibrary_Prefix.pch”外沒有任何程式檔案,在Classes檔案夾上點右鍵選擇“New File…”,然後在“Cocoa Touch Class”下選擇“Objective-C class”,將源檔案命名為“Encrypt.m”,同時選擇產生Encrypt.
Time of Update: 2018-12-03
/*郵箱驗證 MODIFIED BY HELENSONG*/-(BOOL)isValidateEmail:(NSString *)email{ NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}"; NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex];
Time of Update: 2018-12-03
IOS的推送認證,有有效期間限制,一般為一年。當我們認證到期的時候,就需要重建認證了。有一段時間沒有上蘋果網站了,昨天上去一看,此奧,改版了,下邊我們將重建一個正式環境的push推送的認證。1。先開啟鑰匙串(應用程式-工具 + 生產力-鑰匙串訪問),請求一個認證常用名稱寫為:2013.04.27_push_production_***。並儲存到磁碟上。2。進入開啟蘋果網站的認證標籤頁面,選擇 Identifiers標籤下邊的App
Time of Update: 2018-12-03
本文通過起始點左邊和終點座標來說明介面的使用方法。1. 進行路徑搜尋BMKSearch* search = [[BMKSearch alloc] init]; //建立搜尋對象,注意不要釋放該對象search.delegate = self; //設定路徑搜尋結果回調代理為自身BMKPlanNode* currentNode = [[BMKPlanNode alloc] init]; currentNode.pt =
Time of Update: 2018-12-03
前文中的POI搜尋可以在指定地點周圍特定範圍內搜尋POI,假設使用者想要在上海市人民廣場搜尋“北京”,那麼POI返回的結果可能是附近的北京烤鴨店POI列表。為此,有時我們需要區分使用者輸入的搜尋內容是否是一個地址,這裡便需要用到本文將要闡述的地址搜尋。1. 首先進行搜尋BMKSearch* search = [[BMKSearch alloc] init]; //建立搜尋對象search.delegate = self; //代理設定為自身,搜尋之後會自動回調下一步中的函數[search
Time of Update: 2018-12-03
1. 首先進行搜尋CLLocationDistance radiusMeters = 1000; //設定搜尋範圍BMKSearch* search = [[BMKSearch alloc] init]; //建立搜尋對象search.delegate = self; //代理設定為自身,搜尋之後會自動回調下一步中的函數[search poiSearchNearBy:"KFC" center:mapView.centerCoordinate radius:radiusMeters
Time of Update: 2018-12-03
受http://hunray.iteye.com/blog/1404129文章中將百度座標轉換成GPS座標的啟發,這裡用同樣的方法可以將百度座標轉換為Google座標。假設百度座標為(x, y),通過iOS基於百度地圖的開發(6)中的方法將(x, y)視為Google座標然後進行轉換,轉換後得到座標(x1, y1)。然後真正的Google座標(x2, y2)的計算方法為:x2 = 2*x - x1;y2=2*y - y1;不過應注意:1.
Time of Update: 2018-12-03
在中國,是不允許使用真實的座標的,所以每個地圖服務商都會對真實的經緯度進行編碼(也可以稱之為加密吧)。舉個例子,比如人民廣場的真實的經緯度室(LON, LAT),那麼百度提供的經緯度為(LON_B, LAT_B),google提供的經緯度為(LON_G, LAT_G)。在地圖上的顯示結果如下: LON, LATLON_B, LAT_BLON_G,
Time of Update: 2018-12-03
首先需要設定mapView的屬性:self.mapView = [[[BMKMapView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)] autorelease];//我們動態建立一個MapView對象mapView.showsUserLocation = YES;//可以顯示使用者當前位置mapView.zoomEnabled = YES;//允許ZoommapView.scrollEnabled =
Time of Update: 2018-12-03
當前為iOS提供的SKD版本為1.2.1,這裡主要講一下這個版本存在的一些問題,以及開發注意事項。1. BMKMapView是百度地圖類,當建立多個BMKMapView對象時,這些對象會共用一些資料(沒有仔細研究具體共用哪些資料),因此會產生以下問題: A. 當對其中一個BMKMapView通過手勢來進行放大、縮小、移動等操作時,其他的BMKMapView對象會自動進行放大、縮小、移動。 B.
Time of Update: 2018-12-03
remote-control 可以讓使用者通過外部介面控制應用程式音樂, 官方建議的做法是在View顯示的時候接收remote-control事件 - (void)viewDidAppear:(BOOL)animated{ [super viewDidAppear:animated]; [[UIApplication sharedApplication] beginReceivingRemoteControlEvents]; [self
Time of Update: 2018-12-03
// 多核心加速處理函數// 在阻塞期間,建立和處理器核心數相同數量的線程來執行回呼函數// 例如 雙核 會執行下面的方法// pfun(0, 2)// pfun(1, 2)inlinevoid MultiCoreProcessing(void (^pfun)(int i_thread, int num_thread)){ NSUInteger processorCount = [[NSProcessInfo processInfo] processorCount];