




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、Xamarin iOS 開發(fā)實(shí)戰(zhàn)中冊()daxueba net所有Xamarin iOS 開發(fā)實(shí)戰(zhàn)中冊()大學(xué)霸大學(xué)霸Xamarin iOS 開發(fā)實(shí)戰(zhàn)中冊()daxueba net所有前言由于 iOS 全新的界面設(shè)計(jì)、極高的用戶體驗(yàn)度、豐富的軟件,成為最受歡迎的智能設(shè)備。同時,蘋果公司具備完善的App Store 模式,廣受程序員了解和認(rèn)可。雖然蘋果推薦使用 Objective-C 和 Swift進(jìn)行開發(fā),但也其他語言開發(fā)的軟件進(jìn)入 Apple Store。而 C#+Xamarin 是現(xiàn)在廣為流行的開發(fā)模式。其中,Xamarin 是一款跨平臺的開發(fā)框架。使用 Xamarin可以開發(fā) iOS、A
2、ndroid、Windows Phone 和 Mac 的應(yīng)用程序。這樣,C#程序員不需要學(xué)習(xí)其他語言, 就可以開發(fā)蘋果應(yīng)用軟件。本是國內(nèi)唯一一本Xamarin iOS 開發(fā)。本書基于蘋果操作系統(tǒng) Mac OS X 10.9.4,講解使用Xamarin 如何開發(fā) iOS 應(yīng)用程序,其中包含了大量的示例。內(nèi)容包括Xamarin 環(huán)境搭建、視圖、視圖控制器、數(shù)據(jù)管理、數(shù)據(jù)顯示、Web Service、多多任務(wù)、本地化等方面。1.學(xué)習(xí)所需的系統(tǒng)和軟件、iOS 集成特性、硬件交互、地圖和、圖形動畫、qqq安裝 Mac OS X 操作系統(tǒng)安裝Xamarin安裝Xcode2.學(xué)習(xí)建議大家學(xué)習(xí)之前,可以致信到
3、xx,獲取相關(guān)的資料和軟件。如果大家在學(xué)習(xí)過程遇到問題,也可以將問題到該郵箱。我們盡可能給大家解決。大學(xué)霸Xamarin iOS 開發(fā)實(shí)戰(zhàn)中冊()daxueba net所有Xamarin iOS 開發(fā)實(shí)戰(zhàn)中冊目錄第 6 章6.1網(wǎng)絡(luò)服務(wù)1使用 Web 服務(wù)16.1.1 構(gòu)建一個 Web 服務(wù)16.1.2 Web 服務(wù)的使用7使用REST 服務(wù)10使用原生的API 進(jìn)行通信126.26.3第 7 章7.1. 16多選擇圖像和. 167.1.17.1.27.1.37.1.4選擇圖像16向模擬器中添加圖像18設(shè)置圖像顯示來源21選擇237.2使用相機(jī)捕獲267.2.17.2.27.2.37.2.4打
4、開相機(jī)27設(shè)置相機(jī)28捕獲. 30自定義相機(jī)33. 37文件377.37.3.17.3.27.3.3器40設(shè)置器常用的. 437.4音頻46較短的音頻文件47較長的音頻文件49音樂庫557.4.17.4.27.4.37.57.6使用麥克風(fēng). 59直接管理相冊627.6.1獲取相冊中內(nèi)容的路徑63大學(xué)霸Xamarin iOS 開發(fā)實(shí)戰(zhàn)中冊()daxueba net所有7.6.2相冊中EXIF 數(shù)據(jù)647.6.3獲取相冊中的實(shí)際的. 65第 8 章8.18.28.3內(nèi)置應(yīng)用程序69打. 69使用Safari71和電子郵件748.3.18.3.2. 74電子郵件778.48.58.6在應(yīng)用程序中使用
5、. 80在應(yīng)用程序中使用電子郵件85管理地址簿898.6.18.6.28.6.38.6.4地址簿89打開地址簿92添加顯示人93人信息968.7管理日歷998.7.18.7.28.7.3日歷99打開日歷添加日歷界面101. 103第 9 章9.19.29.39.49.59.69.7與外部設(shè)備交互112檢測設(shè)備的方向112調(diào)整UI 的方向113近距離傳感器115獲取電池信息117處理運(yùn)動處理觸摸. 119. 123手勢識別器1259.7.19.7.29.7.39.7.49.7.59.7.6輕拍126捏127滑動129旋轉(zhuǎn)131移動133長按1349.89.99.10第 10 章10.110.21
6、0.310.410.5自定義手勢136使用計(jì)139使用陀螺儀141位置服務(wù)和地圖145確置145確定方向148使用區(qū)域監(jiān)測151使用 significant-change 位置服務(wù)154在運(yùn)行位置服務(wù)156大學(xué)霸Xamarin iOS 開發(fā)實(shí)戰(zhàn)中冊()daxueba net所有10.6使用地圖16010.6.110.6.210.6.310.6.410.6.510.6.610.6.710.6.8顯示地圖160改變地圖的類型161在地圖上顯示當(dāng)前位置164指置165添加標(biāo)記167添加標(biāo)注169限制地圖的顯示范圍173添加覆蓋圖17610.7地理編碼178Xamarin iOS 開發(fā)實(shí)戰(zhàn)上冊目錄第
7、1 章1.1使用 C#編寫第一個 iOS 應(yīng)用程序1初識Xamarin11.1.11.1.21.1.31.1.4Xamarin 發(fā)展1Xamarin 特點(diǎn)1Xamarin 版本2工具需求21.2搭建開發(fā)環(huán)境31.2.11.2.21.2.3開發(fā)者賬號3和安裝Xamarin6和安裝Xcode111.3編寫第一個應(yīng)用程序141.3.11.3.21.3.31.3.41.3.5創(chuàng)建工程14編輯、連接、運(yùn)行16iOS Simulator17Interface Builder21編寫代碼24大學(xué)霸Xamarin iOS 開發(fā)實(shí)戰(zhàn)中冊()daxueba net所有1.3.6 調(diào)試程序251.3.7 文件簡紹2
8、6使用真機(jī)測試應(yīng)用程序261.41.4.11.4.21.4.3申請開發(fā)者賬號26申請和. 29實(shí)現(xiàn)真機(jī)測試38第 2 章2.12.2用戶界面視圖39視圖39添加和定制視圖392.2.12.2.22.2.32.2.4使用 Interface Builder 添加視圖39使用代碼添加視圖42刪除視圖45視圖的位置和大小462.3使用按鈕接受用戶輸入472.3.12.3.22.3.3使用代碼添加按鈕48按鈕的格式化設(shè)置49按鈕的響應(yīng)532.4顯示圖像552.4.1 為視圖顯示圖像552.4.2 定制特殊的圖像58顯示和編輯文本612.52.5.12.5.22.5.3視圖61文本框視圖64文本視圖67
9、2.6使用鍵盤702.6.12.6.22.6.3定制鍵盤的輸入類型70顯示鍵盤時改變輸入視圖的位置73為鍵盤添具欄752.72.82.92.10進(jìn)度條77滾動視圖80頁面控件84警告視圖872.10.12.10.22.10.3為主視圖添加警告視圖87常用的警告視圖樣式89響應(yīng)警告視圖942.112.12第 3 章3.13.2自定義視圖96修改相同的視圖99用戶界面使用視圖器101器加載視圖101導(dǎo)航不同的視圖器1093.2.1導(dǎo)航器的基本組成1093.2.2添加導(dǎo)航器110大學(xué)霸Xamarin iOS 開發(fā)實(shí)戰(zhàn)中冊()daxueba net所有3.2.33.2.4在3.3.13.3.23.3.
10、3通過導(dǎo)航器實(shí)現(xiàn)視圖的切換111管理導(dǎo)航欄上的按鈕1173.3器120器120器的常用屬性122器的響應(yīng)124欄中提供添加欄欄欄3.43.53.63.73.83.9第 4 章4.1器127模型視圖創(chuàng)建自定義視圖器131利用視圖iPad 視圖器的有效性133器136使用故事面板設(shè)計(jì)UI139故事面板中的Unwind Segue146數(shù)據(jù)管理151文件管理1514.1.14.1.24.1.3使用4.2.14.2.24.2.34.2.4創(chuàng)建文件151寫入/內(nèi)容154刪除文件157數(shù)據(jù)庫159創(chuàng)建數(shù)據(jù)庫159數(shù)據(jù)162數(shù)據(jù)163查看數(shù)據(jù)庫1644.24.3使用 iCloud1674.3.1啟動 iCl
11、oud 服務(wù)1674.3.2在 iCloud 中鍵/值數(shù)據(jù)168第 5 章5.1顯示數(shù)據(jù)172選擇列表1725.1.1 日期選擇器1725.1.2 自定義選擇器175在表中顯示數(shù)據(jù)1795.25.2.15.2.25.2.3表中內(nèi)容的顯示179設(shè)置表181設(shè)置表單元格1865.3編輯表1935.3.15.3.25.3.35.3.45.3.5選取行193刪除行195行197移動行202縮進(jìn)2045.45.55.6索引表206數(shù)據(jù)的查找207創(chuàng)建簡單的網(wǎng)頁瀏覽器212大學(xué)霸Xamarin iOS 開發(fā)實(shí)戰(zhàn)中冊()daxueba net所有第 8 章內(nèi)置應(yīng)用程序iOS 移動設(shè)備提供了很多內(nèi)置的應(yīng)用程序
12、給用戶,其中包括 Mail、Phone、Safari、SMS等。這使得它長期以來都是最受歡迎的移動設(shè)備。作為一名 iOS 開發(fā)的方式使用這些內(nèi)置的應(yīng)用程序。本章將講解這些應(yīng)用程序的使用。,可以使用編程8.1打在 iOS 移動設(shè)備中都有打需要使用如下的代碼:的功能即 Phone 應(yīng)用程序,如果想要調(diào)用此應(yīng)用程序, UIApplication.SharedApplication.OpenUrl (NSUrl 對象);其中,NSUrl 對象是由字符串初始化的,此字符串必須要以"tel:"作為前綴?!臼纠?8-1】以下將實(shí)現(xiàn)打的功能,當(dāng)用戶在文本框中輸入號碼后,觸摸具有圖標(biāo)的按鈕,
13、就會自動調(diào)用內(nèi)置的Phone 應(yīng)用程序。具體的操作步驟如下:(1) 創(chuàng)建一個Single View Application 類型的工程,命名為 8-1。(2) 添加圖像 1.jpg、2.png 到創(chuàng)建工程的 Resources 文件夾中。(3) 打開MainStoryboard.storyboard 文件,對主視圖進(jìn)行設(shè)置,效果如圖 8.1 所示。Text FieldImage ViewButton圖 8.1 主視圖的效果需要添加的視圖以及設(shè)置如表 8-1 所示。表 8-1 設(shè)置主視圖大學(xué)霸視圖設(shè)置Text FieldName:textField Text:(空) Font:System 17
14、 ptXamarin iOS 開發(fā)實(shí)戰(zhàn)中冊()daxueba net所有(4)打開 8-1ViewController.cs 文件,編寫代碼,實(shí)現(xiàn)打的功能。代碼如下:運(yùn)行效果如圖 8.2 所示。大學(xué)霸Alignment:居中Placeholder:請輸入號碼Keyboard:Number Pad位置和大?。?33, 100, 254, 30)Image ViewImage:1.jpg位置和大小:(0, 0, 320, 568)ButtonName:btn Title:(空) Background:2.png位置和大?。?122, 250, 75, 75)Xamarin iOS 開發(fā)實(shí)戰(zhàn)中冊()
15、daxueba net所有圖 8.2 運(yùn)行效果注意:此應(yīng)用程序必須要使用真機(jī)進(jìn)試,否則調(diào)用Phone 應(yīng)用程序,而是會彈出“對不起,你沒有打的軟件”的警告視圖。8.2使用 Safari很多的開發(fā)者為了方便,在制作網(wǎng)頁瀏覽器時,都會調(diào)用內(nèi)置的 Safari 應(yīng)用程序。它的調(diào)用需要使用以下的代碼: UIApplication.SharedApplication.OpenUrl (NSUrl 對象);其中,NSUrl 對象是由字符串初始化的,這個字符串一定要是一個完整的。大學(xué)霸輸入電觸摸電話號話按鈕Xamarin iOS 開發(fā)實(shí)戰(zhàn)中冊()daxueba net所有【示例 8-2】以下將通過對 Saf
16、ari 應(yīng)用程序的調(diào)用實(shí)現(xiàn)一個簡單的網(wǎng)頁瀏覽器。具體的操作步驟如下:(1) 創(chuàng)建一個Single View Application 類型的工程,命名為 8-2。(2) 添加圖像 1.jpg 到創(chuàng)建工程的 Resources 文件夾中。(3) 打開MainStoryboard.storyboard 文件,對主視圖進(jìn)行設(shè)置,效果如圖 8.3 所示。LabelText FieldImage ViewButton圖 8.3 主視圖的效果需要添加的視圖以及設(shè)置如表 8-2 所示。表 8-2 設(shè)置主視圖(4)打開 8-2ViewController.cs 文件,編寫代碼,實(shí)現(xiàn)內(nèi)置 Safari 應(yīng)用程序的
17、調(diào)用。代碼如下:大學(xué)霸視圖設(shè)置LabelText:輸入Font:System Bold 21 pt位置和大?。?10, 134, 199, 32)Text FieldName:textField Text:(空) Keyboard:URL位置和大小:(26, 211, 268, 30)Image ViewImage:1.jpg位置和大?。?0, 0, 320, 568)ButtonName:btnTitle:打開輸入的Font:System Bold 21 pt Text Color:白色Background:深灰色位置和大小:(0, 525, 320, 43)Xamarin iOS 開發(fā)實(shí)戰(zhàn)
18、中冊()daxueba net所有運(yùn)行效果如圖 8.4 所示。大學(xué)霸Xamarin iOS 開發(fā)實(shí)戰(zhàn)中冊()daxueba net所有正確觸摸“打開輸入的”按鈕輸入觸摸“打開輸入的”按鈕錯誤圖 8.4 運(yùn)行效果8.3和電子郵件在 iOS 的移動設(shè)備中,有和電子郵件的內(nèi)置應(yīng)用程序,分別為:SMS 應(yīng)用程序和應(yīng)用程序。本節(jié)將講解這兩個內(nèi)置應(yīng)用程序的調(diào)用。8.3.1需要調(diào)用 SMS 內(nèi)置應(yīng)用程序。它的調(diào)用需要使用以下的代碼: UIApplication.SharedApplication.OpenUrl (NSUrl 對象);其中,NSUrl 對象是由字符串初始化的,此字符串必須要以"sm
19、s:"作為前綴。大學(xué)霸Xamarin iOS 開發(fā)實(shí)戰(zhàn)中冊()daxueba net所有【示例 8-3】以下當(dāng)用戶輸入”按鈕后,實(shí)現(xiàn)對 SMS 應(yīng)號碼后,觸摸“用程序的調(diào)用。具體的操作步驟如下:(1) 創(chuàng)建一個Single View Application 類型的工程,命名為 8-3。(2) 添加圖像 1.jpg 到創(chuàng)建工程的 Resources 文件夾中。(3) 打開MainStoryboard.storyboard 文件,對主視圖進(jìn)行設(shè)置,效果如圖 8.5 所示。LabelText FieldImageViewButton圖 8.5 主視圖的效果需要添加的視圖以及設(shè)置如表 8-3
20、 所示。表 8-3 設(shè)置主視圖(4)打開 8-3ViewController.cs 文件,編寫代碼,實(shí)現(xiàn)對 SMS 應(yīng)用程序的調(diào)用。代碼如下:大學(xué)霸視圖設(shè)置LabelText:請輸入收件人的號碼: Font:System Bold 21 pt Alignment:居中位置和大?。?20, 118, 274, 38)Text FieldName:tf Text:(空)位置和大小:(39, 295, 236, 30)Image ViewImage:1.jpg位置和大?。?0, 0, 320, 524)ButtonName:btn Title:Font:System 20 pt Text Color
21、:白色Background:深灰色位置和大小:(0, 524, 320, 44)Xamarin iOS 開發(fā)實(shí)戰(zhàn)中冊()daxueba net所有運(yùn)行效果如圖 8.6 所示。大學(xué)霸Xamarin iOS 開發(fā)實(shí)戰(zhàn)中冊()daxueba net所有圖 8.6 運(yùn)行效果注意:此程序需要在真機(jī)上運(yùn)行。在 iOS Simulator 上沒有提供內(nèi)置的 SMS 應(yīng)用程序。8.3.2電子郵件電子郵件的需要使用內(nèi)置應(yīng)用程序。此程序的調(diào)用代碼如下: UIApplication.SharedApplication.OpenUrl (NSUrl 對象);其中,NSUrl 對象是由字符串初始化的,此字符串必須要以&
22、quot;mailto:"作為前綴。【示例 8-4】以下當(dāng)用戶輸入號碼后,觸摸“電子郵件”按鈕,實(shí)現(xiàn)對應(yīng)用程序的調(diào)用。具體的操作步驟如下:(1) 創(chuàng)建一個Single View Application 類型的工程,命名為 8-4。(2) 添加圖像 1.jpg 到創(chuàng)建工程的 Resources 文件夾中。(3) 打開MainStoryboard.storyboard 文件,對主視圖進(jìn)行設(shè)置,效果如圖 8.7 所示。大學(xué)霸在文本框中觸摸“輸入號碼”按鈕Xamarin iOS 開發(fā)實(shí)戰(zhàn)中冊()daxueba net所有LabelText FieldImageViewButton圖 8.7
23、主視圖的效果需要添加的視圖以及設(shè)置如表 8-4 所示。表 8-4 設(shè)置主視圖(4)打開 8-4ViewController.cs 文件,編寫代碼,實(shí)現(xiàn)對Eail 應(yīng)用程序的調(diào)用。代碼如下:大學(xué)霸視圖設(shè)置LabelText:請輸入收件人的號碼: Font:System Bold 21 pt Alignment:居中位置和大小:(20, 118, 274, 38)Text FieldName:tf Text:(空)位置和大?。?39, 295, 236, 30)Image ViewImage:1.jpg位置和大?。?0, 0, 320, 524)ButtonName:btn Title:Font:
24、System 20 pt Text Color:白色Background:深灰色位置和大?。?0, 524, 320, 44)Xamarin iOS 開發(fā)實(shí)戰(zhàn)中冊()daxueba net所有運(yùn)行效果如圖 8.8 所示。大學(xué)霸Xamarin iOS 開發(fā)實(shí)戰(zhàn)中冊()daxueba net所有圖 8.8 運(yùn)行效果注意:此程序需要在真機(jī)上運(yùn)行。在 iOS Simulator 上沒有提供內(nèi)置的Eail 應(yīng)用程序。8.4在應(yīng)用程序中使用8.3.1 小節(jié)中,調(diào)用 SMS 應(yīng)用程序有一個缺點(diǎn),就是在觸摸“”時,SMS 應(yīng)用程序?qū)@取權(quán),當(dāng)前的程序則被推入。當(dāng)時,需要手動的把應(yīng)用程序調(diào)入,然后讓 SMS 應(yīng)
25、用程序代替前臺,否則應(yīng)用程序?qū)@示。為了在應(yīng)用程序中編寫, 可 以 使 用MFMessageComposeViewController類 來 實(shí) 現(xiàn) 。使當(dāng)前的應(yīng)用程序MFMessageComposeViewController 類顯示SMS 編輯器模態(tài)窗口,而進(jìn)入。如果想要在后恢復(fù)當(dāng)前的應(yīng)用程序,使用此類是十分有用的。【示例 8-5】以下將制作一個用來的應(yīng)用程序。當(dāng)用戶在文本框和文本視圖中大學(xué)霸觸摸“電子郵件”按鈕輸入郵箱地址觸摸“電子郵件”按鈕Xamarin iOS 開發(fā)實(shí)戰(zhàn)中冊()daxueba net所有”按鈕,可以打開 SMS 編輯器模態(tài)窗口。觸摸此窗口中的“發(fā)輸入內(nèi)容后,觸摸“送”
26、按鈕,編寫的作步驟如下:就會給指定的人,并SMS 編輯器模態(tài)窗口。具體的操(1) 創(chuàng)建一個Single View Application 類型的工程,命名為 8-5。(2) 添加圖像 1.png 到創(chuàng)建工程的 Resources 文件夾中。(3) 打開MainStoryboard.storyboard 文件,拖動Navigation Controller 導(dǎo)航器到畫布中,將 Is Initial View Controller 復(fù)選框選中,將導(dǎo)航器關(guān)聯(lián)的根視圖器設(shè)置為畫布中原先有的 View Controller效果如圖 8.9 所示。器,對 View Controller 視圖器的主視圖進(jìn)行
27、設(shè)置,NavigationItemText FieldImage ViewText ViewButton1Button2圖 8.9 主視圖的效果需要添加的視圖以及設(shè)置如表 8-5 所示。表 8-5 設(shè)置主視圖大學(xué)霸視圖設(shè)置Navigation ItemTitle:首頁Text FieldName:tf Text:(空) Font:System 17 pt Alignment:居中Placeholder:輸入收件人的號碼Keyboard:Number Pad位置和大?。?22,108, 269, 30)Image ViewImage:1.png位置和大小:(0, 64, 320, 461)Tex
28、t ViewName:tv Text:(空)位置和大小:(30, 186, 256, 300)Button1Name:cbtn Title:(空)位置和大?。?0, 64, 320, 461)Button2Name:btn Title:Xamarin iOS 開發(fā)實(shí)戰(zhàn)中冊()daxueba net所有(4)打開 8-5ViewController.cs 文件,編寫代碼,實(shí)現(xiàn)在應(yīng)用程序中使用代碼如下:的功能。大學(xué)霸Xamarin iOS 開發(fā)實(shí)戰(zhàn)中冊()daxueba net所有此程序引入了新名空間 MonoTouch.MessageUI,此命名空間包含了一些重要的開發(fā)者執(zhí)行文本信息的UI 元素
29、。運(yùn)行效果如圖 8.10 所示。大學(xué)霸Xamarin iOS 開發(fā)實(shí)戰(zhàn)中冊()daxueba net所有輸入內(nèi)容,觸摸背景關(guān)閉鍵盤觸摸“”按鈕觸摸“”按鈕如果就會彈出“信息已”的警告視圖,如果沒有,就會彈出“失敗”的警告視圖圖 8.10 運(yùn)行效果注意:此程序需要在真機(jī)上運(yùn)行。在 iOS Simulator 上沒有提供 SMS功能。在 Finished 方法中,提供了 MessageComposeResult 的三個參數(shù)。這三個參數(shù)的功能如表 8-6 所示。表 8-6 MessageComposeResult參數(shù)大學(xué)霸參數(shù)功能SentCancelled用戶觸摸“取消”按鈕Failed失敗Xama
30、rin iOS 開發(fā)實(shí)戰(zhàn)中冊()daxueba net所有8.5在應(yīng)用程序中使用電子郵件和 8.3.1 小節(jié)一樣,8.3.2 小節(jié)中,調(diào)用 Eail 應(yīng)用程序也有相同的一個缺點(diǎn),就是在觸摸“電子郵件”時,Mail 應(yīng)用程序?qū)@取權(quán),當(dāng)前的程序則被推入。當(dāng)電子郵件時,需要手動的把應(yīng)用程序調(diào)入前臺,否則應(yīng)用程序?qū)@示。為了在應(yīng)用程序中編寫電子郵件,然后讓 Mail 應(yīng)用程序代替,可以使用 MFMailComposeViewController類來實(shí)現(xiàn)。MFMailComposeViewController 類會打開一個模態(tài)窗口來編寫電子郵件消息,而使當(dāng)前的應(yīng)用程序進(jìn)入類是十分有用的。如果想要在電子
31、郵件后恢復(fù)當(dāng)前的應(yīng)用程序,使用此【示例 8-6】以下將制作一個用來電子郵件的應(yīng)用程序。當(dāng)用戶在文本框和文本視圖中輸入內(nèi)容后,觸摸“發(fā)現(xiàn)電子郵件”按鈕,可以打開示編輯器模態(tài)窗口,觸編輯器模態(tài)摸此窗口中的 Send 按鈕,編寫的郵件就會窗口。具體的操作步驟如下:給指定的人,并(1) 創(chuàng)建一個Single View Application 類型的工程,命名為 8-6。(2) 添加圖像 1.jpg 到創(chuàng)建工程的 Resources 文件夾中。(3) 打開MainStoryboard.storyboard 文件,拖動Navigation Controller 導(dǎo)航器到畫布中,將 Is Initial V
32、iew Controller 復(fù)選框選中,將導(dǎo)航器關(guān)聯(lián)的根視圖器設(shè)置為畫布中原先有的 View Controller效果如圖 8.11 所示。器,對 View Controller 視圖器的主視圖進(jìn)行設(shè)置,Navigation ItemTextField1TextField2TextViewImage ViewButton1Button2圖 8.11 主視圖的效果需要添加的視圖以及設(shè)置如表 8-7 所示。表 8-7 設(shè)置主視圖大學(xué)霸視圖設(shè)置Navigation ItemTitle:電子郵件主頁Text Field1Name:rtf Text:(空) Font:System 16 ptXamar
33、in iOS 開發(fā)實(shí)戰(zhàn)中冊()daxueba net所有(4)打開 8-6ViewController.cs 文件,編寫代碼,實(shí)現(xiàn)在應(yīng)用程序中使用電子郵件的功能。代碼如下:大學(xué)霸Alignment:居中Placeholder:收件人位置和大?。?34,95, 252, 30)Text Field2Name:stf Text:(空) Font:System 16 pt Alignment:居中Placeholder:主題位置和大?。?34, 147, 252, 30)Image ViewImage:1.jpg位置和大?。?0, 64, 320, 456)Text ViewName:tv Text
34、:(空)位置和大?。?34, 196, 252, 287)Button1Name:cbtn Title:(空)位置和大?。?0, 64 320, 456)Button2Name:btnTitle:電子郵件Font:System 21 pt Text Color:白色Background:深灰色位置和大小:(0, 520, 320, 48)Xamarin iOS 開發(fā)實(shí)戰(zhàn)中冊()daxueba net所有大學(xué)霸Xamarin iOS 開發(fā)實(shí)戰(zhàn)中冊()daxueba net所有運(yùn)行效果如圖 8.12 所示。輸入內(nèi)容,觸摸背景關(guān)閉鍵盤觸摸“”按鈕觸摸“Send”按鈕如果就會彈出“郵件已”的警告視圖,
35、如果沒有,就會彈出“郵件失敗”的警告視圖大學(xué)霸Xamarin iOS 開發(fā)實(shí)戰(zhàn)中冊()daxueba net所有圖 8.12 主運(yùn)行效果在 MFMailComposeViewController 的 Finished 方法中,提供了 MessageComposeResult的四個參數(shù)。這四個參數(shù)的功能如下:qqSent:用戶觸摸了 Send 按鈕,這意味著電子郵件在等待。Save:用戶觸摸Cancel 按鈕后,在彈出的動作表單中有觸摸了 Save Draft 按鈕。如圖 8.13 所示,就是觸摸 Cancel 按后出現(xiàn)的動作表單。圖 8.13 動作表單qCancelled:用戶觸摸了 Canc
36、el 按鈕后,在彈出的動作表單中有觸摸了 Delete按鈕。DraftqFailed:電子郵件失敗。8.6管理地址簿地址簿是 iOS 的基本功能。它可以讓用戶、編輯人的和郵件資料。通過。本節(jié)將講解對地址簿地址簿,用戶可以更輕松快捷的給選定的的一些操作。人或者打8.6.1地址簿要想地址簿,需要使用到ABAddressBook 類中的 GetPeople 方法實(shí)現(xiàn)?!臼纠?8-7】以下將實(shí)現(xiàn)在觸摸按鈕后,獲取地址簿中的如下:人名稱。具體的操作步驟(1) 創(chuàng)建一個Single View Application 類型的工程,命名為 8-7。(2) 打開 MainStoryboard.storyboar
37、d 文件,從工具欄中拖動 Button 按鈕對象到主視圖中,將此按鈕的 Name 設(shè)置為btn,將 Title 設(shè)置為將位置和大小設(shè)置為(75, 229, 153, 30)。地址簿,將 Font 設(shè)置為System 18 pt,大學(xué)霸Xamarin iOS 開發(fā)實(shí)戰(zhàn)中冊()daxueba net所有(3)打開 8-7ViewController.cs 文件,編寫代碼,實(shí)現(xiàn)地址簿的,以及在應(yīng)用程序輸出窗輸出人的名稱。代碼如下:大學(xué)霸Xamarin iOS 開發(fā)實(shí)戰(zhàn)中冊()daxueba net所有在此程序中引入了新名空間 MonoTouch.AddressBook,此命名空間提供了對地址簿進(jìn)行管
38、理的類。運(yùn)行效果如圖 8.14 所示。觸摸“地址簿”按鈕圖 8.14運(yùn)行效果在此程序需要注意以下兩點(diǎn):1.狀態(tài)在此程序中使用GetAuthorizationStatus()實(shí)現(xiàn)了對如表 8-8 所示。狀態(tài)的獲取,其狀態(tài)有4 種,表 8-8狀態(tài)2.真機(jī)測試如果開發(fā)者使用真機(jī)進(jìn)如圖 8.15 所示。試,在觸摸“地址簿”按鈕后,會彈出一個警告視圖,大學(xué)霸狀態(tài)功能NotDetermined用戶還沒有決定是否你的程序進(jìn)行RestrictediOS設(shè)備上的一些配置了你的程序與地址簿數(shù)據(jù)庫進(jìn)行交互Denied用戶明確的拒絕了你的程序?qū)Φ刂凡镜腁uthorized用戶已經(jīng)給你的程序?qū)Φ刂凡具M(jìn)行Xamarin
39、iOS 開發(fā)實(shí)戰(zhàn)中冊()daxueba net所有圖 8.15 效果這個警告視圖就是讓用戶決定是否你的程序進(jìn)行。如果觸摸“不”按鈕,表明你的程序不可以對地址簿進(jìn)行進(jìn)行。,如果觸摸“好”按鈕,表明你的程序可以對地址簿8.6.2打開地址簿在MonoTouch.AddressBookUI 命名空間中提供了和人顯示信息相關(guān)的一些器。ABPeoplePickerNavigationController序。器,它顯示了一個導(dǎo)航界面,類似于地址簿應(yīng)用程【示例 8-8】以下將使用 ABPeoplePickerNavigationController功能。具體的操作步驟如下:(1) 創(chuàng)建一個Single Vie
40、w Application 類型的工程,命名為 8-8。(2) 打開 MainStoryboard.storyboard 文件,從工具欄中拖動 Button 按鈕對象到主視圖中,將此按鈕的 Name 設(shè)置為btn,將 Title 設(shè)置為打開地址簿,將 Font 設(shè)置為System 18 pt,將位置和大小設(shè)置為(106, 283, 108, 30)。(3) 打開 8-8ViewController.cs 文件,編寫代碼,實(shí)現(xiàn)觸摸按鈕后打開地址簿。代碼如下:器實(shí)現(xiàn)打開地址簿的大學(xué)霸Xamarin iOS 開發(fā)實(shí)戰(zhàn)中冊()daxueba net所有運(yùn)行效果如圖 8.16 所示。圖 8.16運(yùn)行效果
41、8.6.3添加人在 iOS 中, 添加人都會打開一個添加人界面 , 此界面需要使用 ABNewViewController器,它顯示的是一個新添加的人的可編輯的屬性界面?!臼纠?8-9】以下將為地址簿中添加新的人。具體的操作步驟如下:(1) 創(chuàng)建一個Single View Application 類型的工程,命名為 8-9。(2) 打開MainStoryboard.storyboard 文件,拖動Navigation Controller 導(dǎo)航器到畫布中,將 Is Initial View Controller 復(fù)選框選中,將導(dǎo)航器關(guān)聯(lián)的根視圖器設(shè)置為畫布中原先有的 View Controll
42、er效果如圖 8.17 所示。器,對 View Controller 視圖器的主視圖進(jìn)行設(shè)置,大學(xué)霸觸摸“打開地址簿”按鈕Xamarin iOS 開發(fā)實(shí)戰(zhàn)中冊()daxueba net所有NavigationItemButton1Button2圖 8.17 主視圖的效果需要添加的視圖以及設(shè)置如表 8-9 所示。表 8-9 設(shè)置主視圖(3)打開 8-9ViewController.cs 文件,編寫代碼,實(shí)現(xiàn)人的添加。代碼如下:大學(xué)霸視圖設(shè)置Navigation ItemTitle:首頁Button1Name:add Title:添加人Font:System 14 pt位置和大?。?0, 0, 8
43、3, 30)Button2Name:openaddress Title:打開地址簿Font:System 19 pt Text Color:白色Background:深灰色位置和大小:(0, 524, 320, 44)Xamarin iOS 開發(fā)實(shí)戰(zhàn)中冊()daxueba net所有運(yùn)行效果如圖 8.18 所示。觸摸Done按鈕觸摸“添加聯(lián)觸摸“打開地系人”按鈕址簿”按鈕在打開的添加人界面中輸入內(nèi)容圖 8.18 運(yùn)行效果大學(xué)霸Xamarin iOS 開發(fā)實(shí)戰(zhàn)中冊()daxueba net所有8.6.4顯示人信息AB的個人信息。ViewController器,它顯示了一個指定人的屬性界面,可以用
44、來查看此人【示例 8-10】以下將顯示指定人的個人信息。具體操作步驟如下:(1) 創(chuàng)建一個Single View Application 類型的工程,命名為 8-10。(2) 打開MainStoryboard.storyboard 文件,拖動Navigation Controller 導(dǎo)航器到畫布中,將 Is Initial View Controller 復(fù)選框選中,將導(dǎo)航器關(guān)聯(lián)的根視圖器設(shè)置為畫布中原先有的 View Controller效果如圖 8.19 所示。器,對 View Controller 視圖器的主視圖進(jìn)行設(shè)置,NavigationItemButton1LabelText FieldButton2圖 8.19 主視圖的效果需要添加的視圖以及設(shè)置如表 8
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 電動汽車核心競爭力測試試題及答案
- 聚焦2025年:罕見病藥物研發(fā)政策利好與產(chǎn)業(yè)發(fā)展前景分析報告
- 旅游口語復(fù)試題及答案解析
- 市政道路設(shè)計(jì)與施工試題及答案
- 能源與資源行業(yè)政策解讀報告:新能源補(bǔ)貼政策與市場影響
- 游戲化學(xué)習(xí)試題及答案經(jīng)驗(yàn)
- 持續(xù)提升土木考試試題及答案
- 無機(jī)化學(xué)與環(huán)境保護(hù)的關(guān)系試題及答案
- 新能源汽車制造產(chǎn)業(yè)布局下的充電設(shè)施建設(shè)與發(fā)展報告
- 物理實(shí)驗(yàn)基礎(chǔ)與技能評估試題及答案
- 2025屆湖北武漢市華中師大一附中高考臨考沖刺語文試卷含解析
- 江蘇省南通市海門區(qū)2024-2025學(xué)年第二學(xué)期九年級期中考試歷史試卷(含答案)
- 微生物污染問題的防治策略試題及答案
- GB/T 25139-2025鑄造用泡沫陶瓷過濾網(wǎng)
- 2025重慶建峰工業(yè)集團(tuán)有限公司招聘77人筆試參考題庫附帶答案詳解
- (二模)湛江市2025年普通高考測試(二)生物試卷(含答案詳解)
- 食堂食材配送合同
- 福建泉州文旅集團(tuán)招聘筆試真題2024
- 玉盤二部合唱正譜
- 無人機(jī)飛行安全風(fēng)險分析-深度研究
- 2025-2030年中國鋼鐵中厚板行業(yè)運(yùn)行狀況及發(fā)展規(guī)劃分析報告
評論
0/150
提交評論