iOS開發 - UI

目標:系統性Review;查漏補缺;
html

                                            --- 2017-02-25 00:38web

                                    Update Chapter3 數據庫

                                            --- 2017-02-28 設計模式

Chapter1: 初識iOS安全

  1.1 UI服務器

  User Interface; UI處於iOS四層結構的最上層(Cocoa Touch); 置於UIKit;網絡

  (1) 大體分類:顯示類控件、輸入類控件、提示類控件、滑動類控件、點擊類控件、選擇類控件、表格類控件、搜索類控件、視圖控制器類等。多線程

  (2) 開發角度分類:系統控件、自定義效果控件架構

  1.2 iOS系統架構app

    參考:http://www.cnblogs.com/byqh/p/5595404.html

 

  1.3 應用程序包

    編譯App時,Xcode將它整理成一個包,文件系統中的一個目錄,將相關的文錦都集中放到一個地方,App包包括App的可執行文件和App所須要的資源文件。

  1.4 StoryBoard

 

Chapter2 UI基礎控件

  storyboard一般demo之用,項目開發多純代碼。

  2.1 UILabel

    2.2.1 屬性

      lineBreakMode:當文字超出label顯示區域時的街區方式

    2.2.2 文本區域

     (1) adjustFontSizeToFitWidth

        (2) baselineAdjustment

        (3) 高亮設置

        (4) 繪製陰影

      (5) 重載繪畫

      (6) 用戶交互

  2.2 UITextField

  2.3 UIButton

  2.4 UIAlertView、UIActionSheet

  

Chaper3 應用程序

  3.1 工程結構

    main.m程序的入口

    xxx-Prefix.pch預編譯頭文件

    xxx-Info.plist程序配置文件

    InfoPlist.string國際化文件

    MyProject.app最終程序

    framework是程序用到的框架

  3.2 程序執行順序

    1. main.m是程序的入口

    2. UIApplicationMain()建立應用程序對象,而且爲此對象指定委託,監測程序的執行,同時開啓事件循環,處理程序接收到的時間;

    3. UIApplicationDelegate方法的執行;

    4. 加載window;

    5. 制定跟試圖控制器.

  3.3 UIApplication

    應用程序在iPhone中用UIApplication表示,系統將其作成了單例方便實用。每一個程序都是:UIApplication的或子類型的實例,主要用於處理用戶事件,負責window的顯示。一般會給應用程序制定一個委託,來監聽程序的運行。

  3.4 主函數

    在iPhone應用程序中,main函數僅在最小程度上被使用,應用程序運行所須要的大多數實際工做由UIApplicationMain函數來處理。所以,當您在Xcode中開始一個新的應用程序工程時,每一個工程模版都會提供一個man函數的標準實現,該實現和"處理關鍵的應用程序任務"部分提供的實現是同樣的。main函數只作三件事:建立一個自動釋放,調用UIApplicationDelegate函數,以及使用自動釋放池。iPhone應用程序的main函數以下:

    int main(int argc,char *argv[]) {

      NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];

      int retVal = UIApplicationMain(argc,argv,nil,nil);

      [pool release];

      return retVal;

    }

  3.5 UIApplicationDelegate

    監控應用程序的告急行爲是應用程序委託對象的責任,而應用程序委託對象是您提供的定義類實例。委託是一種避免對複雜對象的UIKit對象(好比缺省的UIApplication對象)進行子類化的機制。

    UIApplicationDelegate是個協議,定義了系列監測程序執行的方法。大體分爲:程序啓動、活躍/非活躍狀態、前/後臺狀態、推送通知、內存警告等。

  3.6 窗口UIWindow

    (1) UIWindow的做用

      應用程序啓動時,會建立一個窗口,並往窗口中加入一個或多個視圖,而後將它顯示出來。窗口顯示出來後,不多再次引用它。

    (2) UIWindow的使用

      UIWindow一重要屬性rootViewController,用於加載窗口裏面第一個視圖。這個屬性是UIViewController類型的。

      UIWindow有一個比較重要的方法makeKeyAndVisible。這個方法的做用是設置當前window爲主window,而且將其內容 顯示出來。 

      Window如同一電視,裏面有各個節目(view),每一個節目裏面又有不少元素,這些元素也都是更小的view。做爲Window一般只負責顯示,因此咱們只須要一個。而且不會對其進行過多操做。

 

Chapter4 類的擴展

  4.1 類目
    1.> 類目做用

      a. 經過類目的做用,能夠將類的實現分散到不一樣的文件裏

      b. 建立對私有方法的前向飲用

      c. 向對象添加非正式協議

  4.2 延展

    1.> 做用

      主要爲了定義本身的私有方法。

  4.3 協議

    1.> 做用

      正式協議能夠將業務中的方法定義剝離出來,造成一個單獨的文件。

Chapter5 視圖控制器

  5.1 UIViewController

    5.1.1 概述

      UIViewController,視圖控制器在MVC設計模式中扮演控制層的角色.

      UINavigationController 導航欄控制器.

      UITabBarController選項卡控制器.

      UITableViewController 表視圖控制器.

    5.1.2 經常使用方法

      1.> view

      2.> -(id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil;

      3.> -(id)didReceiveMemoryWarning;

      4.> -(void)loadView;

      5.> -(void)viewDidLoad;

      6.> -(void)viewDidUnload;

      7.> -(BOOL)shouldAutorateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation;

    5.1.3 自定義UIViewController

    5.1.4 橫豎屏切換

  5.2 視圖

    應用程序中幾乎所有但是控件都是UIView以及UIView子類的實例。

    UIKit視圖類的層次框架圖:

    

  

    此視圖層次能夠分爲幾類:

    (1) 容器

    (2) 控件

    (3) 顯示視圖

    (4) 文本和web視圖

    (5) 警告視圖和動做表單

    (6) 導航視圖

    (7) 窗口

  .............

  5.3 多態

  5.4 id數據類型

  

Chapter6 繪圖

  6.1 繪圖的方法

    6.1.1 Quartz 2D的圖形上下文

    6.1.2 座標系

    6.1.3 指定顏色

    6.1.4 在上下文中繪製圖像

    6.1.5 繪製形狀: 多邊形、直線和曲線

  6.2 構建Quartz Project程序

  6.3 優化QuartzProject程序

 

Chapter7 觸摸和手勢

  7.1 概述

    7.1.1 事件

    7.1.2 事件的傳遞

    7.1.3 響應對象和響應者鏈

    7.1.4 多點觸摸事件

  7.2 觸摸和手勢

    7.2.1 事件處理方法

      7.2.1.1 控制觸摸事件傳遞

      7.2.1.2 處理多觸摸事件

      7.2.1.3 事件處理方法

 

Chapter8 經常使用UI控件

  8.1 UIImageView圖片視圖

  8.2 UISlider滑塊控件

  8.3 UISegmentControl分段控件

  8.4 UIScrollView滾動視圖

  8.5 UIPageControl分頁空間

 

Chapter9 UIView動畫

  9.1 簡述

  9.2 創建UIView動畫塊

  9.3 動畫的回調方法(代理Method)  

  9.4 視圖過分

  9.5 使用Core Animation Transitions

  9.6 通常的Core Animatin調用

  9.7 翻頁過渡效果

  9.8 反彈效果

  9.9 圖像視圖效果

  9.10 視圖的映射

  9.11 CALayer層簡述

  9.12 Summary

 

Chapter10 時間操做

  10.1 UIPickerView、UIDatePickerView選擇控件、日期選擇控件

    10.1.1 UIPickerView的經常使用處理方法

    10.1.2 UIDatePicker的使用方法

  10.2 NSDate(選看)

    10.2.1 建立或初始化時間對象可用如下方法

    10.2.2 獲取時空界限

    10.2.3 日期之間比較可用如下方法

    10.2.4 取回時間間隔可用如下方法

    10.2.5 利用時間參數來建立NSDate實例的實例方法

    10.2.6 將時間表示成字符串

  10.3 NSDateFormatter

  10.4 NSCalendar(選看)

  10.5 NSTimer

    10.5.1 建立一個定時器方法

    10.5.2 定時器開始方法

    10.5.3 定時器中止方法

    10.5.4 關於NSTimer實例的其它方法

  10.6 本地通知

*****************************************************

Part2 多視圖控制器

Chapter11 導航欄控制器

  11.1 概述

  11.2 層級關係

  11.3 工做原理

  11.4 建立

  11.5 使用

  11.6 自定義UINavigationBar

  11.7 navigationItem的使用

  11.8 UIVavigationController的經常使用方法

    11.8.1 修改導航欄上的文字顏色

    11.8.2 修改導航欄背景顏色

    11.8.3 代理方法

 

Chapter12 表視圖

  12.1 UITableView概述

  12.2 工做原理

  12.3 建立

  12.4 重要屬性

  12.5 NSIndexPath和UITableViewCell

  12.6 UITableViewDelegate、UITableViewDataSource

  12.7 自定義UITableViewCell

  12.8 刷新UITableView

  12.9 UITableViewController概述

  

Chapter13 數據持久化

  13.1 文件讀寫

    13.1.1 文件路徑結構

    13.1.2 獲取文件路徑

    13.1.3 NSFileManager進行文件操做

  13.2 屬性列表(plist)

  13.3 使用Archiver歸檔數據

  13.4 內嵌數據庫SQLite

    13.4.1 SQLite基礎知識

    13.4.2 項目中使用SQLite  

  13.5 Core Data

    13.5.1 實體與託管對象

    13.5.2 鍵/值編碼

    13.5.3 在上下文中結合它們

    13.5.4 建立新託管對象

    13.5.5 檢索托管對象

    13.5.6 設計數據模型

  13.6 iCloud

 

Chapter14 標籤控制器

  14.1 概述

  14.2 tabBarController的建立

  14.3 更多Tab Bar Item

  14.4 TabBarController的經常使用方法

    14.1 修改背景不騙

    14.2 經常使用委託方法

    14.3 

 

Chapter15 網絡鏈接

  15.1 網絡開發概述

  15.2 網絡狀態檢查,網絡鏈接中所用到的類

    15.2.1 Reachability

    15.2.2 網絡鏈接中所用到的類

  15.3 同步下載

  15.4 異步下載

  15.5 GET請求和POST請求

    15.5.1 網絡請求分GET和POST兩種形式

    15.5.2 GET請求和POST請求的區別

    15.5.3 GET和POST應用

  15.6 XML和JSON解析

    15.6.1 XML介紹

    15.6.2 XML解析

    15.6.3 JSON介紹

    15.6.4 JSON解析

  15.7 天氣預報示例

  15.8 UITextView、UIWebView文本控件、網頁顯示控件

    15.8.1 UITextView的使用

    15.8.2 UIWebView的使用

  15.9 ASIHTTPRequest類庫簡介

  15.10 安裝說明

    若是欲在iOS項目中使用ASIHTTPRequest,須要在項目中進行簡單的配置...

  15.11 使用說明

    15.11.1 發起一個同步請求

    15.11.2 建立一個異步請求

    15.11.3 隊列請求

    15.11.4 取消異步請求

    15.11.5 安全的內存回收建議

    15.11.6 向服務器上傳數據

    15.11.7 下載文件

    15.11.8 獲取響應消息

    15.11.9 獲取請求進度

 

*******************************Part 3 硬件特性和設計模式*******************************

Chapter16 音頻、視頻播放

  16.1 AVAudioPlayer

    16.1.1 初始化音頻播放器

    16.1.2 設置AVAudioPlayer屬性

    16.1.3 AVAudioPlayer經常使用方法

    16.1.4 簡單應用

  16.2 視頻

    16.2.1 簡介

    16.2.2 經常使用方法

    16.2.3 簡單示例

  16.3 MPMediaPickerController

    16.3.1 MPMediaPickerController簡介

    16.3.2 選取、播放多媒體和監控事件

    16.3.3 播放選取的音樂MPMusicPlayerControler

 

Chapter17 iPhone照相機和相冊的使用

  17.1 使用圖像選區器和UIImagePickerController

  17.2 實現圖像選取器控制器委託

  17.3 測試照相機和相冊

 

Chapter18 短息、郵件

  18.1 用途

  18.2 短信

    18.2.1 程序外調用短信功能

    18.2.2 程序內調用短息功能

  18.3 郵件

    18.3.1 程序外調用郵件功能

    18.3.2 程序內調用郵件功能

  

Chapter19 地圖和定位

  19.1 定位

    19.1.1 位置管理器

      19.1.1.1 設置所需的精度

      19.1.1.2 設置距離篩選器

      19.1.1.3 啓動並中止位置管理器方法

    19.1.2 位置管理器的委託

    19.1.3 定位當前位置示例

  19.2 地圖

    19.2.1 地圖註釋

      19.2.1.1 建立、添加和刪除註釋

      19.2.1.2 註釋視圖

      19.2.1.3 自定義註釋視圖

      19.2.1.4 響應註解按鈕單機事件

 

Chapter20 加速計、陀螺儀

  20.1 加速計的使用

    20.1.1 概述

    20.1.2 獲取UIAccelerometer的實例,並進行相應的蛇者

    20.1.3 設置玩代理,實現代理方法,獲取數據

    20.1.4 偵測晃動事件

  20.2 陀螺儀的使用

    20.2.1 概述

    20.2.2 陀螺儀數據類CMGyroData得到陀螺儀返回數據的屬性方法

    20.2.3 陀螺儀的使用

    

Chapter21 iPhone多線程

  21.1 線程簡介

    21.1.1 含義

    21.1.2 Why do you use it?

    21.1.3 多線程基本知識

  21.2 iPhone建立和管理線程

    21.2.1 cocoa中的線程相關類

    21.2.2 線程的實現方式

  21.3 iPhone線程安全性

    21.3.1 「鎖」住線程

    21.3.2 關於NSCondition

 

Chapter22 KVC、KVO

  22.1 KVC、KVO概述

  22.2 KVC、KVO的做用

  22.3 如何使用KVC、KVO

 

Chapter23 通知

  23.1 通知概述

    23.1.1 原理

    23.1.2 通知中心

  23.2 通知做用

  23.3 如何使用通知

  

Chapter24 MVC

  24.1 概述

  24.2 MVC模型

  24.3 MVC通訊機制

相關文章
相關標籤/搜索