資源描述:
《在iOS 8中使用UIAlertController》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、iOS8的新特性之一就是讓接口更有適應(yīng)性、更靈活,因此許多視圖控制器的實(shí)現(xiàn)方式發(fā)生了巨大的變化。全新的UIPresentationController在實(shí)現(xiàn)視圖控制器間的過渡動(dòng)畫效果和自適應(yīng)設(shè)備尺寸變化效果(比如說旋轉(zhuǎn))中發(fā)揮了重要的作用,它有效地節(jié)省了程序員們的工作量(天地良心?。?。還有,某些舊的UIKit控件也同樣發(fā)生了許多變化,比如說AlertViews、ActionSheets、Popovers以及SearchBarControllers。本文將會對AlertViews和ActionSheets發(fā)生的改變進(jìn)行一個(gè)大致的介紹,我們會采用Objective-C和swift兩種語言
2、同時(shí)進(jìn)行代碼說明。UIAlertView隨著蘋果上次iOS5的發(fā)布,對話框視圖樣式出現(xiàn)在了我們面前,直到現(xiàn)在它都沒有發(fā)生過很大的變化。下面的代碼片段展示了如何初始化和顯示一個(gè)帶有“取消”和“好的”iOS8的新特性之一就是讓接口更有適應(yīng)性、更靈活,因此許多視圖控制器的實(shí)現(xiàn)方式發(fā)生了巨大的變化。全新的UIPresentationController在實(shí)現(xiàn)視圖控制器間的過渡動(dòng)畫效果和自適應(yīng)設(shè)備尺寸變化效果(比如說旋轉(zhuǎn))中發(fā)揮了重要的作用,它有效地節(jié)省了程序員們的工作量(天地良心?。?。還有,某些舊的UIKit控件也同樣發(fā)生了許多變化,比如說AlertViews、ActionSheets、Po
3、povers以及SearchBarControllers。本文將會對AlertViews和ActionSheets發(fā)生的改變進(jìn)行一個(gè)大致的介紹,我們會采用Objective-C和swift兩種語言同時(shí)進(jìn)行代碼說明。UIAlertView隨著蘋果上次iOS5的發(fā)布,對話框視圖樣式出現(xiàn)在了我們面前,直到現(xiàn)在它都沒有發(fā)生過很大的變化。下面的代碼片段展示了如何初始化和顯示一個(gè)帶有“取消”和“好的”按鈕的對話框視圖。Objective-C版本:UIAlertView*alertview=[[UIAlertViewalloc]initWithTitle:@”標(biāo)題”message:@”這個(gè)是UIA
4、lertView的默認(rèn)樣式”delegate:selfcancelButtonTitle:@”取消”otherButtonTitles:@”好的”,nil];[alertviewshow];UIAlertView的默認(rèn)樣式swift版本和Objective-C版本不同,在swift中,alertView的初始化只允許創(chuàng)建擁有一個(gè)取消按鈕的對話框視圖?;蛟S您可以看到帶有otherButtonTitles的init方法,但是很遺憾,這個(gè)方法是沒有辦法通過編譯的。varalertView=UIAlertView(title:”標(biāo)題”,message:”這個(gè)是UIAlertView的默認(rèn)樣式
5、”,delegate:self,cancelButtonTitle:”取消”)alertView.show()swift版本的UIAlertView要能夠創(chuàng)建和上面Objective-C版本相同的對話框視圖,我們可以采取曲線救國的方法,雖然麻煩了些,但是我們?yōu)榱四康目梢圆粨袷侄蔚?,是吧?varalertView=UIAlertView()alertView.delegate=selfalertView.title=“標(biāo)題”alertView.message=“這個(gè)是UIAlertView的默認(rèn)樣式”alertView.addButtonWithTitle(“取消”)alertView
6、.addButtonWithTitle(“好的”)alertView.show()您也可以通過更改UIAlertView的alertViewStyle屬性來實(shí)現(xiàn)輸入文字、密碼甚至登錄框的效果。UIAlertView文本對話框UIAlertView密碼對話框UIAlertView登錄對話框UIAlertViewDelegate協(xié)議擁有響應(yīng)對話框視圖的按鈕動(dòng)作的回調(diào)方法。還有當(dāng)文本框內(nèi)容改變時(shí),調(diào)用alertViewShouldEnableOtherButton:方法可以讓按鈕動(dòng)態(tài)地可用或者不可用。要說明一點(diǎn),蘋果官方現(xiàn)在并不提倡在iOS8中使用UIAlertView,取而代之的是UIA
7、lertController。下面我們就來介紹UIAlertController的使用方法。UIAlertController在iOS8中,UIAlertController在功能上是和UIAlertView以及UIActionSheet相同的,UIAlertController以一種模塊化替換的方式來代替這兩貨的功能和作用。是使用對話框(alert)還是使用上拉菜單(actionsheet),就取決于在創(chuàng)建控制器時(shí),您是如何設(shè)置首選樣式的。一個(gè)簡單的對話