偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

iPhone SDK開(kāi)發(fā)基礎(chǔ)教程

移動(dòng)開(kāi)發(fā) iOS
本文介紹的是iPhone SDK開(kāi)發(fā)基礎(chǔ),主要講述了iPhone 開(kāi)發(fā)框架,我們先來(lái)看內(nèi)容。

iPhone SDK開(kāi)發(fā)基礎(chǔ)是本文要介紹的內(nèi)容,我們先來(lái)看內(nèi)容,主要介紹了iPhone程序框架的一些知識(shí)??偟膩?lái)說(shuō)iPhone程序有兩類框架,一類是游戲框架,另一類是非游戲框架,這里介紹的是非游戲框架,即基于iPhone 用戶界面標(biāo)準(zhǔn)控件的程序框架

典型的iPhone程序包含一個(gè)Window和幾個(gè)UIViewController,每個(gè)UIViewController管理多個(gè)UIView(可能是UITableView、UIWebView、UIImageView等),如圖3-24所示。這些UIView之間如何進(jìn)行層次迭放、顯示、隱藏、旋轉(zhuǎn)、移動(dòng)等都由UIViewController進(jìn)行管理,而UIViewController之間的切換,通常情況是通過(guò)UINavigationController、UITabBarController或UISplitViewController進(jìn)行切換。接下來(lái)筆者會(huì)逐一介紹如何使用這三種Controller來(lái)切換你的UIViewController,以及在UIViewController中如何組織和管理你的各種UIView。

iPhone SDK開(kāi)發(fā)基礎(chǔ)

圖3-24  iPhone程序框架示意圖3.12.1 

使用UINavigationController組織和管理UIView當(dāng)你的程序具有層次化的工作流時(shí),就比較適合使用UINavigationController來(lái)管理UIViewController,即用戶可以從上一層界面進(jìn)入下一層界面,在下一層界面處理完以后又可以簡(jiǎn)單地返回到上一層界面,UINavigationController使用堆棧的方式來(lái)管理UIViewController,進(jìn)入下一層界面的代碼如下。

  1. [self.navigationController pushViewController:nextController animated:YES]; 

返回上一層界面的代碼如下。

  1. [self.navigationController popViewControllerAnimated:YES]; 

如圖3-25所示,屏幕左上方的“Animal List”按鈕是返回按鈕,注意這個(gè)返回按鈕是UINavigationController自動(dòng)添加的,不需要編寫(xiě)任何代碼在界面上添加按鈕或者實(shí)現(xiàn)按鈕操作,當(dāng)程序使用pushViewController()函數(shù)將ViewController添加進(jìn)UINavigation Controller的時(shí)候,UINavigationController就自動(dòng)顯示這個(gè)返回按鈕,用戶單擊這個(gè)“Animal List”按鈕就可以回到原先的界面,UINavigationController的這種運(yùn)行機(jī)制產(chǎn)生這樣的效果,用戶可以一層一層地進(jìn)入更深的界面層次,然后又可以一層一層的按順序返回,使用這樣的方式來(lái)組織用戶界面非常方便。

本節(jié)相關(guān)的完整Xcode工程源代碼文件請(qǐng)參考本書(shū)附帶的光盤(pán)中的Zoo實(shí)例。

iPhone SDK開(kāi)發(fā)基礎(chǔ)

圖3-25 UINavigationController 程序框架實(shí)例界面 

3.12.2  使用UITabBarController組織和管理UIView

當(dāng)你的程序分為幾個(gè)相對(duì)比較獨(dú)立的部分時(shí),就比較適合使用UITabBarController來(lái)組織用戶界面,如圖3-26所示。

iPhone SDK開(kāi)發(fā)基礎(chǔ)

圖3-26  UITabBarController程序框架實(shí)例界面

在屏幕的下方包含UITabBarController的三個(gè)按鈕,用戶單擊不同的按鈕即可以進(jìn)入不同的界面,每個(gè)界面相對(duì)來(lái)說(shuō)在整個(gè)系統(tǒng)中比較獨(dú)立,也就是程序分成了三個(gè)相對(duì)比較獨(dú)立的不同部分,在每個(gè)相對(duì)獨(dú)立的部分你也可以使用UINavigationController等容器類組織你的界面。這樣組織使程序邏輯非常清晰,當(dāng)然你也可以組織很多個(gè)Tab而不只是三個(gè),以下代碼演示如何創(chuàng)建UITabBarController對(duì)象,并為其添加多個(gè)Tab。

  1. (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions: (NSDictionary *)launchOptions {      
  2. // Override point for customization after application launch.    
  3. //Create the navigation Controller   
  4. UINavigationController *localNavigationController;   
  5. //Create UINavigationController tabBarController = [[UITabBarController alloc] init];      
  6. tabBarController.delegate = self;   
  7. // Create the array that will contain all the View controlelr  
  8.  NSMutableArray *localControllersArray = [[NSMutableArray alloc] init WithCapacity:3]; 

3.29  OpenFlow編程

當(dāng)用戶界面需要按頁(yè)面顯示圖片時(shí),使用OpenFlow庫(kù)提供的功能,將要顯示的用戶界面圖片分頁(yè)進(jìn)行顯示會(huì)使編程工作變得非??旖荨T搸?kù)提供了與OS X桌面Finder程序相同的視覺(jué)效果,如圖3-46所示就是一個(gè)使用OpenFlow庫(kù)逐頁(yè)進(jìn)行圖片顯示的程序,用戶按下屏幕即可進(jìn)行左右滾動(dòng)顯示,雙擊圖片即可對(duì)當(dāng)前顯示的圖片進(jìn)行選取操作。

iPhone SDK開(kāi)發(fā)基礎(chǔ)

圖3-46  OpenFlow編程實(shí)例界面

程序在視圖控制器的viewDidAppear()中使用refreshCoverFlow()函數(shù)初始化OpenFlow庫(kù),通過(guò)setNumberOfImages()函數(shù)設(shè)置圖片數(shù)量,代碼如下。

  1. //  RootViewController.m- (void)refreshCoverFlow{   
  2.  CGRect bounds = [[UIScreen mainScreen] bounds];   
  3. AFOpenFlowView *coverFlowView = (AFOpenFlowView*)[self.view viewWithTag:kTagCoverflow];   
  4. if(coverFlowView != nil)    [coverFlowView removeFromSuperview];    
  5. coverFlowView = [[AFOpenFlowView alloc] initWithFrame:CGRectMake(0, -30, bounds.size.width, COVERFLOWHEIGHT)];   
  6. coverFlowView.dataSource = self;   
  7. coverFlowView.viewDelegate = self;   
  8. coverFlowView.defaultImage = [self defaultImage];   
  9. coverFlowView.tag = kTagCoverflow;   
  10. [self.view addSubview:coverFlowView]; 

3.30  UIPageControl編程

當(dāng)用戶界面需要按頁(yè)面進(jìn)行顯示時(shí),使用iOS提供的UIPageControl控件將要顯示的用戶界面內(nèi)容分頁(yè)進(jìn)行顯示會(huì)使編程工作變得非??旖?,如圖3-47所示就是一個(gè)使用UIPageControl控件逐頁(yè)進(jìn)行圖片顯示的程序,用戶按下屏幕即可進(jìn)行左右滾動(dòng)顯示,在屏幕的正上方使用白色的點(diǎn)顯示當(dāng)前滾動(dòng)到的頁(yè)面位置。

iPhone SDK開(kāi)發(fā)基礎(chǔ)

圖3-47  UIPageControl編程實(shí)例界面

程序自定義一個(gè)SwipeView類,該類通過(guò)子類化UIView類并重載其touchesMoved()方法捕獲用戶滾動(dòng)的方向,類的定義如下。3.31  自定義儀表控件

在iOS開(kāi)發(fā)中,因?yàn)槌绦虻男枰袝r(shí)要自行繪制iPhone SDK沒(méi)有提供的界面控件,通常使用QuartzCore.framework即可畫(huà)出你所需要的各種圖形,在這里我們實(shí)現(xiàn)一個(gè)圓形的“儀表盤(pán)”控件,控件的外觀如圖3-48所示,用戶可以通過(guò)旋轉(zhuǎn)儀表控件的指針來(lái)設(shè)置程序需要的各種系統(tǒng)參數(shù)。

iPhone SDK開(kāi)發(fā)基礎(chǔ)

圖3-48 “儀表盤(pán)”控件控件使用兩個(gè)UIView來(lái)實(shí)現(xiàn)儀表控件,并通過(guò)CGAffineTransform類來(lái)實(shí)現(xiàn)儀表指針的旋轉(zhuǎn),控件在UIDialView類中實(shí)現(xiàn),UIDialView類的定義如下。

  1. //  UIDialView.h  
  2. #import <UIKit/UIKit.h> 
  3. @protocol UIDialViewDelegate  
  4. @optional- (void)dialValue:(int)tag Value:(float)value;  
  5. @end 

小結(jié):關(guān)于iPhone SDK開(kāi)發(fā)基礎(chǔ)的內(nèi)容介紹完了,希望本文對(duì)你有所幫助,更多相關(guān)iphone的內(nèi)容請(qǐng)參考編輯推薦。

責(zé)任編輯:zhaolei 來(lái)源: 互聯(lián)網(wǎng)
相關(guān)推薦

2011-08-12 13:19:24

iPhoneSDK安裝

2011-08-18 10:02:47

iPhone SDKOpenFlow

2011-08-18 09:52:13

iPhone SDKUIPageContr

2011-04-01 12:39:18

Android

2011-07-06 17:53:40

iPhone SDK Xcode

2011-08-09 16:58:22

XCodeSDK

2010-06-11 13:53:54

UML建模

2017-12-12 07:47:59

dockermarathon服務(wù)器

2017-07-18 10:14:23

OracleMerge into教程

2009-07-22 13:32:43

iBATIS DAO

2011-08-18 09:44:33

iPhone SDK儀表控件UIDialView

2011-08-10 15:48:10

iPhone網(wǎng)絡(luò)

2011-07-06 17:40:43

iPhone SDK

2010-08-24 10:54:16

MeeGoUI設(shè)計(jì)

2016-08-31 14:01:31

MySQL存儲(chǔ)數(shù)據(jù)庫(kù)

2011-09-13 16:39:50

Android UI設(shè)

2011-07-18 14:39:53

iPhone SDK UIKit

2011-07-22 18:25:20

XCode iPhone SDK

2011-07-08 14:58:16

iPhone Xcode iOS

2011-08-10 18:24:22

iPhone 圖形 繪圖
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)