精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

iPhone開發(fā)之利用ModalViewController切換View

移動(dòng)開發(fā) iOS
如果 view 的數(shù)量比較少,且顯示領(lǐng)域?yàn)槿恋臅r(shí)候,用 ModalViewController 就比較合適(比如需要用戶輸入信息的view,結(jié)束后自動(dòng)回復(fù)到之前的view)。今天我們就看看 ModalViewController 的創(chuàng)建方法。

iPhone開發(fā)之利用ModalViewController切換View是本文要介紹的內(nèi)容,當(dāng)程序中含有多個(gè) view,需要在之間切換的時(shí)候,可以使用 UINavigationController,或者是 ModalViewController。UINabigationController 是通過向?qū)l來切換多個(gè) view

而如果 view 的數(shù)量比較少,且顯示領(lǐng)域?yàn)槿恋臅r(shí)候,用 ModalViewController 就比較合適(比如需要用戶輸入信息的view,結(jié)束后自動(dòng)回復(fù)到之前的view)。今天我們就看看 ModalViewController 的創(chuàng)建方法。

ModalViewController 并不像 UINavigationController 是一個(gè)專門的類,使用 UIViewController 的 presentModalViewController 方法指定之后就是 ModalViewController 了。

這里使用上兩回做成的 CustomViewController(由UIViewController繼承)來實(shí)現(xiàn) ModalViewController 的實(shí)例。

首先,準(zhǔn)備 ModalViewController 退出時(shí)的函數(shù)。調(diào)用 UIViewController 的 dismissModalViewController:Animated: 方法就可以了,如下所示:

  1.  // 這里按鈕按下的時(shí)候退出 ModalViewController  
  2. -(void)dismiss:(id)inSender {  
  3.     //  如果是被 presentModalViewController 以外的實(shí)例調(diào)用,parentViewController 將是nil,下面的調(diào)用無效  
  4.     [self.parentViewController dismissModalViewControllerAnimated:YES];  
  5. }  

接下來,生成另一個(gè) CustomViewController 的實(shí)例,用來表示 ModalViewController,并將其對(duì)應(yīng)的 view 設(shè)置成紅色。然后傳遞給 presentModalViewController: Animated: 顯示 ModalViewController 的 view。

  1.  - (void)applicationDidFinishLaunching:(UIApplication *)application {  
  2.     controller = [[CustomViewController alloc] init];  
  3.     [window addSubview:controller.view];  
  4.     [window makeKeyAndVisible];  
  5.     // 生成 ModalViewController  
  6.     CustomViewController* controllerB = [[CustomViewController alloc] init];  
  7.     // 設(shè)置 view 的背景為紅色  
  8.     controllerB.view.backgroundColor = [UIColor redColor];  
  9.     // 顯示 ModalViewController view  
  10.     [controller presentModalViewController:controllerB animated:YES];  
  11.     // presentModalViewController 已經(jīng)被 controller 管理,這里可以釋放該實(shí)例了  
  12.     [controllerB release];  
  13. }  

編譯執(zhí)行以后,首先啟動(dòng)的是紅色背景的 ModalViewController view、按下按鈕后恢復(fù)到藍(lán)色背景的通常 view 上。

也可以在顯示 ModalViewController view 之前設(shè)置 UIViewContrller 的 modalTransitionStyle 屬性,使其以動(dòng)畫形式顯示。

  1. controllerB.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;  

iPhone開發(fā)之利用ModalViewController切換View

以上的實(shí)現(xiàn)只是單一地實(shí)現(xiàn)了 ModalViewController view 的功能,除了程序開始提醒用戶一些信息外什么也做不了。另外由于是放入了 applicationDidFinishLaunching 中的原因,也不能反復(fù)的顯示。另外,在 ModalViewController view 上設(shè)置的內(nèi)容也不能反映到原來的 view 上。

接下來我們將實(shí)現(xiàn)這些功能。

首先,從 ModalViewController view 退出的時(shí)候,需要通知原先的 view。這里使用 iPhone/Cocoa 應(yīng)用程序中經(jīng)常使用的Delegate 設(shè)計(jì)模式(也是推薦使用的)。

實(shí)際上,系統(tǒng)所提供的圖像選擇控制類 UIImagePickerController

或者是參照地址簿時(shí)的ABPeoplePickerNavigationController 類,都用到了 Delegate 模式。基于上一講的中的例子,這里我們追加為3個(gè)按鈕,分別是綠色,灰色和取消。

  1. - (void)viewDidLoad {  
  2.    [super viewDidLoad];  
  3.    self.view.backgroundColor = [UIColor blueColor];  
  4.    UIButton* button = [UIButton buttonWithType:UIButtonTypeRoundedRect];  
  5.    button.frame = CGRectMake(100,100,100,100);  
  6.    button.tag = 1;  
  7.    [button setTitle:@"綠色" forState:UIControlStateNormal];  
  8.    //  按鈕事件對(duì)應(yīng)函數(shù)  
  9.    [button addTarget:self action:@selector(dismiss:)  
  10.        forControlEvents:UIControlEventTouchUpInside];  
  11.    [self.view addSubview:button];  
  12.  
  13.    button = [UIButton buttonWithType:UIButtonTypeRoundedRect];  
  14.    button.frame = CGRectMake(100,200,100,100);  
  15.    button.tag = 2;  
  16.    [button setTitle:@"灰色" forState:UIControlStateNormal];  
  17.    //  按鈕事件對(duì)應(yīng)函數(shù)  
  18.    [button addTarget:self action:@selector(dismiss:)  
  19.        forControlEvents:UIControlEventTouchUpInside];  
  20.    [self.view addSubview:button];  
  21.  
  22.    button = [UIButton buttonWithType:UIButtonTypeRoundedRect];  
  23.    button.frame = CGRectMake(100,300,100,100);  
  24.    button.tag = 0;  
  25.    [button setTitle:@"取消" forState:UIControlStateNormal];  
  26.    //  按鈕事件對(duì)應(yīng)函數(shù)  
  27.    [button addTarget:self action:@selector(dismiss:)  
  28.        forControlEvents:UIControlEventTouchUpInside];  
  29.    [self.view addSubview:button];  
  30.   

程序啟動(dòng)的時(shí)候依然是先顯示 ModalViewController view,按下任何一個(gè)按鈕,將關(guān)閉該view。按下“綠色”按鈕,設(shè)置背景為綠色,按下“灰色”按鈕時(shí),設(shè)置背景為灰色。“取消”的時(shí)候什么也不做。

委托處理用下面的函數(shù)實(shí)現(xiàn),當(dāng)參數(shù) inColor 為 nil 的時(shí)候代表取消。

  1. -(void)selectColor:(UIColor*)inColor;  

委托代理的實(shí)例用 id 變量表示。

  1.  @interface CustomViewController : UIViewController {  
  2.     id  colorSelectDelegate;  
  3. }  

設(shè)置該變量的函數(shù)如下。

  1.  -(void)setColorSelectDelegate:(id)inDelegate {  
  2.     colorSelectDelegate = inDelegate;  
  3. }  

另外如上面 viewDidLoad 所示,按鈕的 tag 分別為0、1、2。按鈕按下時(shí)調(diào)用的函數(shù)中由不同的 tag 來發(fā)送不同的 UIColor實(shí)例到 colorSelectDelegate 上。

  1.  -(void)dismiss:(id)inSender {  
  2.     UIView* view = (UIView*)inSender;  
  3.     UIColor* requestColor = nil;  
  4.     if (view.tag == 1)  
  5.         requestColor = [UIColor greenColor];  
  6.     if (view.tag == 2)  
  7.         requestColor = [UIColor grayColor];  
  8.     [colorSelectDelegate selectColor:requestColor];  
  9. }  

這是不使用 UIButton* 而是用 UIView* ,是因?yàn)?tag 屬性被定義在 UIView 類中,不需要必須轉(zhuǎn)換為 UIButton 類。

另外這樣一來,該函數(shù)在 UIButton 以外的情況下也能被使用。

如果想檢查 id 是什么類性的可以使用 isKindOfClass: 方法。接收到具體的參數(shù) inColor 更換背景色,并關(guān)閉 ModalViewController view。

  1.  -(void)selectColor:(UIColor*)inColor {  
  2.     if (inColor != nil)  
  3.         self.view.backgroundColor = inColor;  
  4.     [self dismissModalViewControllerAnimated:YES];  
  5. }  

另外,在調(diào)用 presentModalViewController 之前(顯示 ModalViewController view 之前),需要設(shè)定委托的實(shí)例。

  1. - (void)applicationDidFinishLaunching:(UIApplication *)application {  
  2.    controller = [[CustomViewController alloc] init];  
  3.    [window addSubview:controller.view];  
  4.    [window makeKeyAndVisible];  
  5.    //  創(chuàng)建 ModalViewController view 的 Controller  
  6.    CustomViewController* controllerB = [[CustomViewController alloc] init];  
  7.    //  設(shè)置背景色為紅色  
  8.    controllerB.view.backgroundColor = [UIColor redColor];  
  9.    //  設(shè)置委托實(shí)例  
  10.    [controllerB setColorSelectDelegate:controller];  
  11.    //  顯示 ModalViewController view  
  12.    [controller presentModalViewController:controllerB animated:YES];  
  13.    [controllerB release];  
  14.   

編譯一下,程序啟動(dòng)后顯示紅色背景的 ModalViewController view,點(diǎn)擊綠色按鈕后,原先的view的背景變?yōu)榫G色,點(diǎn)擊灰色,顯示灰色的背景,而點(diǎn)擊取消,那么將顯示原先藍(lán)色的背景。

這樣的形式,就是將按鈕的動(dòng)作委托給原先view的 Controller 來處理了。根據(jù)送來的 UIColor 來設(shè)置不同的背景色。

小結(jié):iPhone開發(fā)之利用ModalViewController切換View的內(nèi)容介紹完了,希望本文對(duì)你有所幫助!

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

2011-08-25 15:02:17

Lua環(huán)境搭建EditPlus

2016-02-25 10:18:29

2011-09-01 10:31:16

ubuntuwindows

2011-07-25 14:54:53

iPhone iPhone開發(fā) View

2011-07-03 18:59:27

流量

2011-08-18 17:32:55

iPhone開發(fā)Table Cell

2017-02-21 08:47:22

2011-08-22 13:52:20

iPhone開發(fā)View

2011-07-06 17:53:40

iPhone SDK Xcode

2011-07-25 18:02:51

iPhone LibFetion 移植

2009-08-20 10:55:59

2011-07-06 17:34:47

iPhone

2011-07-08 10:58:47

2011-08-10 15:48:10

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

2011-08-15 10:06:22

iPhone開發(fā)nib 文件

2011-08-05 10:48:11

iPhone開發(fā) Objective- Cocoa Touc

2011-08-15 10:45:11

iPhone開發(fā)delegate

2013-04-08 09:46:23

iPhone開發(fā)音頻資料

2011-08-10 10:10:21

iPhoneUIPopoverCo

2011-08-02 17:37:01

IPhone開發(fā) 環(huán)境搭建
點(diǎn)贊
收藏

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

九一精品久久久| 亚洲国产午夜伦理片大全在线观看网站| 私库av在线播放| 久久亚洲黄色| 欧美日韩国产精品自在自线| 亚洲区成人777777精品| 香蕉av在线播放| 久久国产三级精品| 97精品国产97久久久久久| 国产精品美女高潮无套| 亚洲精品午夜| 欧美色爱综合网| 日韩欧美不卡在线| 美女黄视频在线观看| 成人午夜精品在线| 91精品国产综合久久久久久蜜臀| 国产精彩视频在线| 偷拍欧美精品| 一区二区三区黄色| 手机在线成人av| 精品成人18| 日本久久精品电影| 男女啪啪免费观看| 在线免费黄色| 99精品国产99久久久久久白柏| 国产日韩在线看片| 亚洲欧美日韩激情| 一区在线观看| 久久成人亚洲精品| 我不卡一区二区| 日韩三级毛片| 精品国产一二三| 黄色小视频免费网站| 中文字幕乱码中文乱码51精品| 亚洲日本成人在线观看| 亚洲精品美女久久7777777| 天堂在线视频网站| 成人午夜又粗又硬又大| 成人精品网站在线观看| 久久久国产免费| 久久国产主播| 26uuu亚洲国产精品| 精品无码一区二区三区电影桃花| 日韩精品永久网址| 国产亚洲成av人片在线观看桃| 亚洲一区二区三区777| 99精品在线播放| 一区在线视频观看| 欧美激情手机在线视频 | 亚洲成av人在线观看| 最新av网址在线观看| 国产传媒在线播放| 亚洲欧美成人一区二区三区| 手机在线视频你懂的| 一区二区三区视频在线观看视频| 亚洲国产高清在线观看视频| 无码免费一区二区三区免费播放| 国产三级在线| 国产精品国产三级国产aⅴ原创 | heyzo中文字幕在线| 亚洲精品一卡二卡| 国产小视频免费| 白白色在线观看| 午夜电影网一区| 欧美日韩亚洲一| 巨茎人妖videos另类| 在线一区二区视频| 怡红院亚洲色图| 国产精品白丝久久av网站| 欧美一级夜夜爽| 美女久久久久久久久| 秋霞影视一区二区三区| 亚洲人成网站在线播| 公肉吊粗大爽色翁浪妇视频| 日韩专区精品| 欧美激情精品久久久久久蜜臀| 国产在线免费视频| 久久精品一区二区三区中文字幕 | 探花国产精品一区二区| 国内精品视频666| 国产精品露出视频| 欧美日韩国产综合视频| 国产精品高清亚洲| 国产精品一色哟哟| 另类专区亚洲| 欧美一区二区三区免费在线看 | 综合色天天鬼久久鬼色| 屁屁影院ccyy国产第一页| 色戒汤唯在线观看| 欧美日韩亚洲综合一区二区三区| 野花视频免费在线观看| 亚洲aa在线| 久久国产一区二区三区| 国产午夜激情视频| 日本va欧美va瓶| 91手机在线视频| 毛片网站在线观看| 亚洲男人电影天堂| 成人在线观看a| 视频一区国产| 中文字幕国产日韩| 国产午夜精品一区二区理论影院| 日韩激情一二三区| 国产主播一区二区三区四区| 在线免费观看的av网站| 五月婷婷另类国产| 亚洲一二三不卡| 精品国产aⅴ| 性色av一区二区三区红粉影视| 中文字幕91爱爱| av不卡一区二区三区| 伊人久久大香线蕉av一区| 麻豆免费在线| 日韩精品一区二区三区三区免费| 亚洲av无码国产精品麻豆天美| 激情久久久久久久| 成人免费网站在线| 国产精品久久久久一区二区国产| 亚洲一级在线观看| 亚洲免费成人在线视频| jiujiure精品视频播放| 26uuu另类亚洲欧美日本老年| wwwav在线播放| 中文字幕日韩欧美一区二区三区| 国产精品宾馆在线精品酒店| 亚洲精品国产九九九| 中国china体内裑精亚洲片| 黄色片视频网站| 国产成a人无v码亚洲福利| 性欧美.com| www.一区| 国产一区二区三区视频免费| 在线免费黄色av| 99免费精品在线| 九一国产精品视频| 99re6热只有精品免费观看| 欧美裸体男粗大视频在线观看| 亚洲在线视频播放| 国产精品国产三级国产aⅴ入口| 国产超碰在线播放| 国产在线日韩精品| 国产成人高清激情视频在线观看| 日本精品专区| 色综合天天综合网天天狠天天 | 激情视频免费网站| 欧美精品乱码| 国产精品久久久久久久久男 | 中文字幕成人av| 男女爽爽爽视频| 日韩精品永久网址| 成人午夜黄色影院| 在线观看操人| 欧美成人性福生活免费看| 久久99久久98精品免观看软件| 国产精品一区二区视频| 天天做天天躁天天躁| 9l亚洲国产成人精品一区二三| 欧美激情精品久久久久久久变态| 色网站免费观看| 婷婷久久综合九色综合伊人色| 国产精品无码一区二区三区免费| 国产农村妇女毛片精品久久莱园子| 久久伦理网站| 欧美日韩国产v| 自拍视频国产精品| hs视频在线观看| 亚洲一区二区三区四区在线免费观看 | 日本高清不卡一区二区三区视频| 亚洲欧美日韩区| 在线观看国产精品视频| 亚洲视频免费在线| 中文字幕天堂网| 久久五月激情| 国产一区一区三区| 黄色美女久久久| 国产激情久久久久| www.在线视频| 日韩国产在线播放| 在线免费观看中文字幕| 樱桃视频在线观看一区| 人妻熟女aⅴ一区二区三区汇编| 免费不卡在线观看| 亚洲国产精品久久久久婷婷老年 | 日一区二区三区| 天天干天天操天天干天天操| 六月丁香久久丫| 国产精品久久久久久影视| a视频在线播放| 亚洲美女又黄又爽在线观看| 一级黄在线观看| 亚洲精品成人少妇| 亚洲图片另类小说| 国产精品一区一区| 日本xxxxxxx免费视频| 亚洲国产精品日韩专区av有中文| 国产亚洲福利社区| 精品女同一区二区三区在线观看| 久久噜噜噜精品国产亚洲综合 | 中文字幕欧美国产| 中国xxxx性xxxx产国| 蜜臀av国产精品久久久久| 九九热只有这里有精品| 91综合视频| 蜜桃日韩视频| 亚洲无线观看| 国产美女91呻吟求| 日本黄色免费在线| 欧美裸体xxxx极品少妇| 日本中文字幕电影在线免费观看| 日韩成人在线视频观看| 国产又粗又猛又黄又爽| 色综合中文综合网| 国产精品白浆一区二小说| 国产精品乱子久久久久| 国产黄色网址在线观看| 丁香六月久久综合狠狠色| 污污的视频免费观看| 日韩在线a电影| a在线视频观看| 欧美三区美女| 影音先锋男人的网站| 国产探花一区二区| 蜜桃麻豆www久久国产精品| 2020最新国产精品| 亚洲在线观看视频| 亚洲精品aaa| 国产精品丝袜一区二区三区| 国产精品久久久久av电视剧| 欧美亚洲一区在线| а√天堂中文在线资源8| 欧美老妇交乱视频| 超碰个人在线| 久久久精品视频成人| 免费观看在线黄色网| 日韩亚洲一区二区| 美女免费久久| 久久国产精品久久国产精品| 黄网站在线免费看| 久久人人爽人人爽人人片亚洲| 日本中文字幕视频在线| 日韩中文av在线| 欧美性videos| 久久综合88中文色鬼| 欧美成人精品一区二区男人看| 中国日韩欧美久久久久久久久 | 欧美交受高潮1| 五月花成人网| 久久久久久尹人网香蕉| free性m.freesex欧美| 97色伦亚洲国产| 美女在线视频免费| 日本精品在线视频| 亚洲爱爱视频| 91精品久久久久久久久久入口| 五月天色综合| 147欧美人体大胆444| 国产精品久久久久久久久久白浆 | 国产精品女视频| 亚洲人体在线| 91免费观看| 老司机凹凸av亚洲导航| 日本不卡一二三区| 成人羞羞动漫| 99re6这里有精品热视频| 国产一区欧美| 黑鬼大战白妞高潮喷白浆| 美国一区二区三区在线播放| 国产精品久久久久久9999| 国产成人免费视频网站 | 国产精品精品| 又大又硬又爽免费视频| 久久av一区二区三区| 手机看片一级片| 国产成人8x视频一区二区| 黄色在线观看av| 国产精品色婷婷久久58| 久久久久黄色片| 欧美色播在线播放| 国产精品免费无遮挡| 亚洲精品在线三区| 黄色小视频在线免费观看| 日韩有码视频在线| 啊啊啊久久久| 国产欧美一区二区三区久久人妖| 天堂av一区| 日韩精彩视频| 欧美日韩精品免费观看视频完整| 国产精品97在线| 国产精一区二区三区| 加勒比一区二区| 亚洲精品视频免费观看| 特级毛片www| 欧美大片免费久久精品三p| 国产女主播在线直播| 欧美俄罗斯乱妇| 欧美free嫩15| 国产区日韩欧美| 性xxxx欧美老肥妇牲乱| 日韩a在线播放| 国产高清一区日本| 懂色av蜜桃av| 精品成人av一区| 欧美日韩理论| 韩国欧美国产1区| 日韩成人精品视频在线观看| av一区二区三区| 国产黄色的视频| 欧美伊人久久久久久午夜久久久久| 国产黄色大片网站| 中文字幕9999| 性欧美hd调教| 久久综合九色99| 黄色在线成人| 下面一进一出好爽视频| 中文字幕第一页久久| yjizz国产| 亚洲二区中文字幕| 成年人网站在线| 国产精品丝袜视频| 深夜福利久久| 日本久久久精品视频| 成人av综合一区| 久久久香蕉视频| 欧美一级久久久| 麻豆tv免费在线观看| 国产精品久久久久高潮| 天天躁日日躁狠狠躁欧美巨大小说| 欧美性猛交内射兽交老熟妇| 韩国视频一区二区| 国产精品免费人成网站酒店| 欧美日韩视频在线一区二区| 国产美女视频一区二区三区 | 色是在线视频| 精品国产乱码久久久久久郑州公司| 欧美精品入口| 国产成人精品综合久久久久99 | 欧美极品少妇xxxxⅹ免费视频| 精品入口麻豆88视频| 在线视频不卡一区二区三区| 另类调教123区| 中文字幕在线观看二区| 欧美日韩一区二区三区免费看 | 亚洲精品国产片| 久久99国产精品自在自在app | 成人精品视频一区二区三区| 欧美黑人一级片| 精品国产亚洲一区二区三区在线观看| 污视频网站在线免费| 岛国视频一区| 激情久久中文字幕| 亚洲男女在线观看| 富二代精品短视频| 国产在线超碰| 国产日韩中文在线| 亚洲色图国产| 丰满熟女人妻一区二区三区| 午夜精品视频在线观看| 青青草视频免费在线观看| 日本免费久久高清视频| 精品一区二区三区在线| 亚洲涩涩在线观看| 亚洲自拍偷拍麻豆| 香蕉人妻av久久久久天天| 国产成人av在线| 91精品啪在线观看国产18| 一级全黄裸体片| 狠狠躁夜夜躁人人爽天天天天97| 欧美美女搞黄| 国产专区欧美专区| 欧美日韩a区| a级大片在线观看| 欧美色区777第一页| gogo在线高清视频| 激情伦成人综合小说| 日本vs亚洲vs韩国一区三区二区| 日本一级特级毛片视频| 精品99999| 福利视频亚洲| 中文精品无码中文字幕无码专区| 91毛片在线观看| 91九色蝌蚪91por成人| 久久久久在线观看| 欧美理论在线播放| 超碰91在线播放| 一本色道久久综合亚洲91| 国产三级在线播放| 久久久久久国产精品mv| 韩国视频一区二区| 手机在线看片1024| 久久av资源网站| 成人av动漫在线观看| www.四虎精品| 欧美三级电影在线看| a级片在线免费观看| 中文字幕在线中文字幕日亚韩一区 | 欧美福利电影在线观看| 精品人伦一区二区三电影| 日韩免费在线观看| 欧美天堂一区| 国产成人精品视频免费看|