這個功能的重點就是在如何判斷應用是第一次啟動的. 其實很簡單我們只需要在一個類裡面寫好使用者引導頁面 基本上都是使用UIScrollView 來實現,建立一個繼承於UIViewController的類 命名為 UserGuideViewController ,在UserGuideViewController.m 寫 1 - (void)viewDidLoad 2 { 3 [super
設定一個NSTtimer顯示目前時間,定義NSTimer使用:時間間隔NSTimeInterval浮點型,事件代理delegate和事件處理方法@selector();就可以用+ (NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)ti target:(id)aTarget selector:(SEL)aSelector userInfo:(id)userInfo repeats:(BOOL)yesOrNo; 來初始化一個
我們在開發一款APP的時候,總是會涉及應用程式國際化的事情,用ios裡專業術語叫做本地化,其實都是一個意思,簡而言之就是不同的系統語言,顯示不同的應用程式名稱、字串名稱、圖片名稱、等等,除了代碼,ios幾乎可以本地化所有類型的檔案。 那麼接下來我就記錄下來ios如何快速本地化項目,【記住千萬不要把解說文字直接以字元形式寫到各個.m檔案中,或是統一都編寫成靜態字串,這些都是不利於本地化的,等以後需要維護時,項目需求不同語言版本時,會很費事】。 一、本地化
圖片跟隨雙指捏合的距離放大或者縮小。 利用-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event 實現。touchesMoved每當手指在螢幕上移動的時候都會運行。 1.檢測手指的個數NSArray * touchesArr=[[event allTouches] allObjects];NSLog(@"手指個數%d",[touchesArr count]);&
1 前言IOS4 之後提供了幕後處理,在後台運行應用程式,在一些情形下甚至可以在使用者按下Home按鈕之後在後台運行。2 詳述IOS可以在使用者按下Home按鈕後將應用程式添加到暫停狀態。這種暫停執行的狀態在概念上類似於將Mac設定為睡眠模式。應用程式的所有工作記憶體都在RAM中,在暫停時它完全不執行。因此,切換回這樣的應用程式的速度非常快。系統提供了多種方式,通過UIApplication類嚮應用程式通知其執行狀態的變化,該類針對此用途提供了許多委託方法和通知,我們將介紹如何使用他們。2.1
demo功能:flowcover 效果,正反無限迴圈滾動,每個cover都有單獨的倒影demo說明:項目中FlowCover Classes檔案夾是存放核心類。demo接圖: demo主要代碼:繪製部分[csharp] - (void)drawTile:(int)index atOffset:(double)off { FlowCoverRecord *fcr = [self getTileAtIndex:
首先建立一個IOS 的應用工程,主要講解一下的檔案組成: main.m XXXXDelegete.h\.m MainWindow.xib info.plist 檔案 IOS 應用程式由UIKit 封裝, IOS 應用程式由uikit 封裝,一個Application 應用main函數標準實現: int main(){ NSAutoreleasePool * pool = [[NSAutoreleasePool alloc]
//先自己寫一個titleViewUIView *titleView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 200, 20)];//allocate titleViewtitleView.backgroundColor=[UIColor blackColor];//Create UILableUILabel*titleText = [[UILabel alloc] initWithFrame: CGRectMake(100, 0, 50
1 前言幾乎在每個物件導向語言的應用程式中都能看到Factory 方法。Factory 方法是抽象Factory 方法的組成部分。對象工廠與生產有形產品的真實工廠類似,比方說:你讓工廠給你生產產品,你給他們發送一個“生產產品”的訊息。工廠就會按照相應的“生產產品”的協議,啟動器生產線。過程結束後,就會返回所生產的特定類型的產品。我們把“生產”這個詞稱作Factory
1 前言觀察者模式也叫做發布-訂閱模式。如它的別名暗示的那樣,它很像雜誌的訂閱。當從雜誌發行商訂閱雜誌的時候,讀者把名字和郵寄地址提供給發行商,這樣新的一期就能送到讀者手上。發行商保證正確的雜誌送到正確的地址。一般來說,讀者不會受到他沒有訂閱的雜誌。這正是觀察者模式的工作方式。2 詳述2.1
1擷取系統語言設定 NSUserDefaults *userDefault = [NSUserDefaults standardUserDefaults]; NSArray *languages = [userDefault objectForKey:@"AppleLanguages"]; NSString *preferredLang = [languages objectAtIndex:0];2緩衝路徑下檔案大小- (unsigned long
1 前言在物件導向軟體設計中,利用公用對象不僅能節省資源還能提高效能。共用的對象只能提供某些內在的資訊,而不能用來識別對象。專門用於設計可共用對象的一種設計模式叫做享元模式(Flyweight pattern)。2 詳述2.1 簡述實現享元模式需要兩個關鍵組件,通常是可共用的享元對象和儲存他們的池。某種中央對象維護這個池,並從它返回適當的執行個體。運用共用技術有效地支援大量細粒度的對象。2.2
//執行個體化一個NSDateFormatter對象 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; //設定時間格式,這裡可以設定成自己需要的格式 [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; //用[NSDate date]可以擷取系統目前時間 NSString
UIPanGestureRecognizer是UIGestureRecognizer類的一個擴充類,其擴充類有UITapGestureRecognizer,UIPinchGestureRecognizer,UIRotationGestureRecognizer,UISwipeGestureRecognizer,UIPanGestureRecognizer,UILongPressGestureRecognizer。 藉助這些類,可以實現UIView對象的一些操作如物件放大顯示縮小,移動,
給navigationItem中添加個搜尋欄,效果和大部分程式一樣。代碼如下: UISearchBar *searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 0, 200, 28)]; searchBar.backgroundImage = [UIImage imageNamed:@"btu_search"];
--前言:iOS開發中關於對象的釋放問題,雖然知道規則,但總不清楚自動釋放的對象什麼時候徹底消失?它存在的多久?什麼情況會消失?都不清楚,每次用自動釋放對象,總有點心虛的感覺,以下是一些例子、研究。--直接上代碼,代碼寫在一個控制器的viewDidLoad方法裡(代碼內容是用一個path就儲存一個data,但path是自動釋放對象):[html]例子1 NSArray*patharray=NSSearchPathForDirectoriesInDomains(NSDocumentDir
首先引入檔案:libsqlite3.FMDB(包含Global.m,Global.h檔案)關閉arc用mesaSqlite建立一個資料庫,引入檔案中其次:首先,在Global.h檔案中找到#define kDBName
1. 建立 Objective-C 類,繼承 UIApplication。2. 編輯 .h 如下:#import <Foundation/Foundation.h>//定義應用程式逾時時間,單位為分鐘,因此我們會在這個數上乘以60,以便折算成秒數。#define kApplicationTimeoutInMinutes 5 //定義通知名稱,其真實內容是字串 "timed out"#define
1、建立Windows-base Application。開啟main.m檔案,在main函數中增加代碼如下:// 取得使用者預設資訊NSUserDefaults *defaults = [ NSUserDefaults standardUserDefaults ];// 取得 iPhone 支援的所有語言設定NSArray *languages = [defaults objectForKey : @"AppleLanguages" ];NSLog (
圖片的縮放 一:Pinch手勢對圖片進行縮放。即用兩根手指往不同方向拖拉照片,照片會被縮小或放大。我理解的原理:等比縮放先看如下關鍵代碼:1.初始化參數- (void)viewDidLoad{ [superviewDidLoad]; lastDistance = 0.0; imageStartHeight =