成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

iPhone開發(fā)入門:實際開發(fā)中的應用技巧

移動開發(fā) iOS
截至到現(xiàn)在,我們已經(jīng)會在 Interface Builder 中用 File's Owner 添加 Action 和 Outlet , 以及由 Write Class Files生成應用程序文件了。但是,如果在途中添加 Action 或者 Outlet 的時候,原先的 Action 會被覆蓋掉,我們不得不重新再用 File's Owner 生成一遍。

添加Action和Outlet

截至到現(xiàn)在,我們已經(jīng)會在InterfaceBuilder中用File'sOwner添加Action和Outlet,以及由WriteClassFiles生成應用程序文件了。但是,如果在途中添加Action或者Outlet的時候,原先的Action會被覆蓋掉,我們不得不重新再用File'sOwner生成一遍。

這里,我們來看看左右不使用InterfaceBuilder,添加Action和Outlet的方法。

測試項目

我們先來創(chuàng)建一個測試用的項目UITest,其中利用File'sOwner添加一個Action和一個Outlet。

UITestViewController.xib

利用File'sOwner生成Action和Outlet

File'sOwner被選擇的狀態(tài)下點擊InterfaceBuilder的菜單的「WriteClassFiles...」,選擇Replace生成程序文件。

添加Outlet

Outlet被定義在ViewController的頭文件中。下面是模板項目的UITestViewController.h文件。

UITestViewController.h

UITestViewController.h文件中的Outlet與Action定義

我們可以看到文件中Outlet和Action的定義。與其類似,在定義Outlet1的下面,我們再添加兩個Outlet。

UITestViewController.h2

添加Outlet

文件保存之后,我們可以通過File'sOwner來確認是否添加成功:

添加Outlet

確認添加的Outlet

添加Action

同樣的方法,我們在UITestViewController.h中添加兩個Action。分別是myAction2,myAction3。

添加Action

添加Action

保存之后用InterfaceBuilder的File'sOwner確認。

添加Action

確認添加的Action

除此之外,Action需要在UITestViewController.m中定義其實現(xiàn)。

添加Action

Action的實現(xiàn)

iPhone鍵盤

iPhone的鍵盤占去了整個屏幕的一半,所以基本上都是將TextField控件放置到畫面的上半部。如果需要在畫面下方輸入文字,需要另外生成一個View,其上半部是TextField控件。當點擊下半部的控件時,彈出該View。

iPhone鍵盤

iPhone鍵盤

關閉鍵盤的方法

鍵盤關閉通過「DidEndOnExit」Action。將其與TextField控件關聯(lián)。

iPhone鍵盤

與“DidEndOnExit”關聯(lián)

并且設定鍵盤右下角的按鍵為關閉按鈕。該按鈕缺省是「return」或者是換行,這里我們通過設定TextField控件的Attributes,將「ReturnKey」設定為「Done」,表示按下該按鈕激活上面的「DidEndOnExit」Action

iPhone鍵盤

設定ReturnKey

iPhone鍵盤

激活「DidEndOnExit」Action

關閉鍵盤的按鈕

上面使用的鍵盤中可以設定退出的按鈕,可是在「NumberPad」或者「PhonePad」中,右下角不存在這樣一個按鈕。如下圖:

iPhone鍵盤

NumberPad

這種情況下我們需要自定義一個按鈕,用來關閉鍵盤。如下圖所示,這里在TextField控件「右下角配置一個按鈕,并與「TouchDown」Action關聯(lián)。

iPhone鍵盤

如果想結束輸入鍵盤的輸入,使用與TextField關聯(lián)的Outlet來執(zhí)行以下的操作。

[outletendEditing:YES];

iPhone鍵盤

關聯(lián)按鈕與鍵盤

上面添加的按鈕只是在鍵盤出現(xiàn)的時候有效,所以我們試著將其與鍵盤關聯(lián)。只有在鍵盤出現(xiàn)的時候才出現(xiàn),否則不顯示。為了控制按鈕,我們需要生成按鈕的Outlet,通過它來控制按鈕的顯示和隱藏。

當開始在TextField控件上輸入文字的時候,該按鈕有效。這時TextField控件的Action是「EditingDidBegin」,我們在其中將按鈕顯示出來(按鈕的Outlet變量為button_outlet)。

[button_outletsetHidden:NO];

接下來,按鍵按下的Action中追加按鈕隱藏的操作。

[button_outletsetHidden:YES];

另外,程序啟動后,按鈕缺省的狀態(tài)也應該是隱藏的狀態(tài)。在inspector選擇按鈕的「Drawing」屬性為「Hidden」。

透明按鈕

這里在介紹一種透明按鈕的方法。通過點擊TextField控件以外領域來關閉鍵盤。這在沒有位置用來設置按鈕時挺方便。其設置也非常簡單,在inspector選擇按鈕的「Type」屬性為「Custom」,這樣一來,就可以設置透明的按鈕。

iPhone鍵盤

設置按鈕

選擇了Custom,變成透明的按鈕會覆蓋View的上半部。

iPhone鍵盤

通過以上設置,就可以使用透明的按鈕了。但是有一點需要留意,設置了這樣的按鈕以后會覆蓋掉其領域下的其他控件,就不能觸發(fā)其他控件的消息了。所以需要將透明控件的顯示順序至于最低層。像下面選擇按鈕后,選擇InterfaceBuilder菜單的「Layout」→「SendBackward」后就可以了。

iPhone鍵盤

設置按鈕階層

確認對話框

當需要用戶確認操作的時候,需要彈出確認對話框。這里使用UIActionSheet。首先使用UIActionSheet的代理,利用Objective-C的protocol在UIViewController中處理。

@interfaceUITestViewController:UIViewController{

 

顯示對話框

在UITestViewController.m文件的myAction1中實現(xiàn)對話框顯示。

-(IBAction)myAction1:(id)sender

{

UIActionSheet*actionSheet=[[UIActionSheetalloc]initWithTitle:@"select"delegate:selfcancelButtonTitle:@"CANCEL"destructiveButtonTitle:@"OK"otherButtonTitles:nil];

[actionSheetshowInView:self.view];

[actionSheetrelease];

}

用戶操作

具體按鈕按下的時候,利用UIActionSheet的接口實現(xiàn)。

-(void)actionSheet:(UIActionSheet*)actionSheetclickedButtonAtIndex:(NSInteger)buttonIndex{

if(buttonIndex==0){

//destructiveButton被按下

}

}

數(shù)據(jù)保存

TextField控件中輸入的數(shù)據(jù)等應用程序一結束就會自動消失。如果下一次啟動還想恢復的話怎么辦呢?這里可以使用類似于Windows的注冊表一類的方法。(這里只限于設置很少量的數(shù)據(jù),對于大的數(shù)據(jù)建議使用數(shù)據(jù)庫SQLite或Bento)

保存

[[NSUserDefaultsstandardUserDefaults]setObject:myObjforKey:@"myKey"];

myObj是被保存的數(shù)據(jù),myKey是以任意字符串。

提取

[[NSUserDefaultsstandardUserDefaults]valueForKey:@"myKey"];

myKey指定的數(shù)據(jù)被取出,放到myObj中。

責任編輯:佚名 來源: 易飛揚的博客
相關推薦

2011-08-08 14:57:46

iPhone Autoreleas Property

2011-08-10 17:37:00

iPhoneASIHTTPRequ

2011-08-22 14:12:48

iPhone開發(fā)NSTableView

2011-08-15 11:37:20

iPhone開發(fā)Mask

2011-08-09 17:12:30

iPhoneCFRunLoop

2011-08-12 14:33:06

iPhone緩存文件

2011-08-15 15:44:46

iPhone開發(fā)PDF

2011-08-18 16:24:44

iPhone開發(fā)圖片

2011-11-18 17:36:11

jQTouchiPhoneiOS

2011-08-02 17:27:06

iPhone應用 剪切技巧

2011-07-08 14:58:16

iPhone Xcode iOS

2011-07-19 09:46:38

2011-07-19 09:58:36

2011-08-22 15:47:27

Oracle臨時表存儲過程

2011-08-08 10:10:14

iPhone開發(fā) 圖片 方法

2011-08-08 16:56:44

iPhone 字符處理 視圖

2011-08-10 10:10:21

iPhoneUIPopoverCo

2011-08-09 17:29:29

iPhone文件屏幕

2011-08-11 15:23:04

iPhoneNSBundleXcode

2011-04-29 10:46:32

iPhone開發(fā)入門iPhoneiOS
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久久免费毛片 | 91在线视频网址 | av黄色国产| 久久这里只有精品首页 | 欧美视频免费 | 久久精品中文字幕 | 五月综合激情婷婷 | 久久伊人影院 | 综合婷婷 | 男女羞羞视频免费看 | 欧美一区二区大片 | 精品国产一区二区在线 | 欧美日韩三级视频 | 午夜丁香视频在线观看 | 欧美一级毛片久久99精品蜜桃 | 成人av网站在线观看 | 国产精品久久精品 | 一区二区电影 | 日本亚洲欧美 | 成人中文网 | 亚洲成人免费视频在线 | 日韩一区二区三区av | 国产成人福利在线观看 | 欧日韩在线| 亚洲欧洲在线观看视频 | 91视频网 | 日韩欧美字幕 | 亚洲精品久久久一区二区三区 | 伊人网伊人| 自拍偷拍精品 | 免费一级大片 | 亚洲一区二区三区高清 | 一区二区三区中文字幕 | 欧美精品在欧美一区二区 | 一区二区在线不卡 | 久久伊人精品 | 九九导航 | 亚洲综合一区二区三区 | www.国产| 精品一区二区三区中文字幕 | 国产精品久久久久久久久久久久 |