天天看點

IOS UIAlertController 使用方法

在很多種語言中,alert都表示彈窗操作,彈窗功能非常有用,不僅可以用于正式的app功能中,也可以在調試中使用。在OC中,UIAlertController類用來控制彈窗操作。在IOS 8.0之前, 其使用UIAlertView類來控制彈窗,如果我們想彈出一個帶有輸入框的視窗,可以使用如下的代碼:

 我們可以看出如果要實作彈窗中的按鈕功能,需要使用代理模式,功能代碼需要寫在clickedButtonAtIndex()函數中,這種寫法固然可以實作功能,但是在某些情況下并不是很友善。比如說我們有一個UITableView,我們點選任意某一行進行彈窗操作,那麼上面聲明彈窗的代碼需要寫在didSelectRowAtIndexPath()函數中,但是由于彈窗按鈕的操作在另一個代理函數中,我們不能直接通路目前行數indexPath.row,隻能将其存入一個全局變量中,或者我們在聲明完彈窗後,将目前行數綁定到alert的tag上,這樣在代理函數中才可以直接使用。而且我們如果要用reloadRowsAtIndexPaths函數來更新目前行的時候,還需要自己建立一個包含indexPath類對象的數組,略顯麻煩。

而在IOS 8.0之後,UIAlertView被抛棄了,取而代之的是UIAlertController類,我們想實作相同功能的彈窗需要使用如下的代碼:

繼續閱讀