自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

淺析iPhone SDK開(kāi)發(fā)基礎(chǔ)之OpenFlow編程

移動(dòng)開(kāi)發(fā) iOS
iPhone SDK開(kāi)發(fā)基礎(chǔ)之OpenFlow編程是本文要將誒少的內(nèi)容,當(dāng)用戶界面需要按頁(yè)面顯示圖片時(shí),使用OpenFlow庫(kù)提供的功能,將要顯示的用戶界面圖片分頁(yè)進(jìn)行顯示會(huì)使編程工作變得非??旖?。

iPhone SDK開(kāi)發(fā)基礎(chǔ)之OpenFlow編程是本文要將誒少的內(nèi)容,當(dāng)用戶界面需要按頁(yè)面顯示圖片時(shí),使用OpenFlow庫(kù)提供的功能,將要顯示的用戶界面圖片分頁(yè)進(jìn)行顯示會(huì)使編程工作變得非??旖?。該庫(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ǔ)之OpenFlow編程

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

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

并在loadView()中初始化圖片,將圖片從資源中加載并保存在一個(gè)NSMutableArray類型的變量imageArray中,代碼如下。

  1. - (BOOL)doAddAnimal:(NSString *)name Image:(NSString *)imageName{  
  2.    
  3.  UIImage *image = [UIImage imageNamed: imageName];  
  4.  if(image == nil) return FALSE;  
  5.  CGSize size  = CGSizeMake(179, 208);  
  6.  [imageArray addObject:[self resizeImage:image scaledToSize:size]];  
  7.  return TRUE;   

在OpenFlow庫(kù)的requestImageForIndex delegate方法中直接通過(guò)NSMutableArray的索引作為OpenFlow庫(kù)的圖片索引,并通過(guò)該索引設(shè)置和獲取具體圖片,代碼如下。

  1. //  PageViewController.m  
  2. - (void)openFlowView:(AFOpenFlowView *)openFlowView requestImageForIndex: (int)index{  
  3.      UIImage *image =  [imageArray objectAtIndex:index];  
  4.   [openFlowView setImage:image forIndex:index];  

筆者在OpenFlow庫(kù)AFOpenFlowView.m文件的touchesEnded()函數(shù)中增加了雙擊回調(diào)接口,以便在用戶雙擊圖片時(shí)通知庫(kù)的調(diào)用者,代碼如下。

  1. //AFOpenFlowView.m  
  2. - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {  
  3.  if(((UITouch *)[touches anyObject]).tapCount == 2){  
  4.       if ([self.viewDelegate respondsToSelector:@selector(openFlowView: coverViewDoubleClick:)])  
  5.    [self.viewDelegate openFlowView:self coverViewDoubleClick: selectedCoverView.number];  
  6.     }   
  7.     [super touchesEnded:touches withEvent:event];   

庫(kù)的調(diào)用者RootViewController類通過(guò)接口函數(shù)coverViewDoubleClick()即可處理用戶雙擊事件,代碼如下。

  1. - (void)openFlowView:(AFOpenFlowView *)openFlowView coverViewDoubleClick:(int)index{  
  2.   NSLog(@"coverViewDoubleClick called!");  
  3.   [self showPaintingViewController]; 

小結(jié):淺析iPhone SDK開(kāi)發(fā)基礎(chǔ)之OpenFlow編程的內(nèi)容介紹完了,希望通過(guò)本文的學(xué)習(xí)能對(duì)你有所幫助!

責(zé)任編輯:zhaolei 來(lái)源: 博客園
相關(guān)推薦

2011-08-18 09:52:13

iPhone SDKUIPageContr

2011-07-18 09:35:29

iPhone 框架

2011-08-18 09:44:33

iPhone SDK儀表控件UIDialView

2011-07-18 14:39:53

iPhone SDK UIKit

2011-07-06 17:53:40

iPhone SDK Xcode

2011-08-02 13:46:43

iPhone開(kāi)發(fā) iPhone SDK

2011-07-06 17:40:43

iPhone SDK

2015-07-15 15:24:25

OpenFlowSDN

2011-07-22 18:25:20

XCode iPhone SDK

2010-12-10 13:57:45

PHP Extensi

2011-08-01 18:27:58

iPhone開(kāi)發(fā) UISearchBa

2011-08-10 10:10:21

iPhoneUIPopoverCo

2009-08-06 09:18:01

ASP.NET自定義控ASP.NET控件開(kāi)發(fā)

2011-07-05 17:19:47

元編程

2009-07-02 10:51:21

腳本編程JSP開(kāi)發(fā)

2011-05-31 14:03:13

2011-08-08 13:57:19

iPhone開(kāi)發(fā) 打包 DEB

2011-08-11 10:03:43

iPhonecocoaNSRunLoop

2011-08-12 13:19:24

iPhoneSDK安裝

2011-07-18 14:33:32

點(diǎn)贊
收藏

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