iOS 9.0中UIAlertController的用法。

1.我爲何要寫這篇博客記錄它?學習

答:由於 UIAlertView和UIActionSheet 被劃線了 蘋果不推薦咱們使用這兩個類了,也再也不進行維護和更新,爲了之後方便使用我來記錄一下。如圖所示spa

正如蘋果所說它如今讓咱們用UIAlertConntroller(其實iOS 8.0就可使用這個類了) 並設置樣式爲UIAlertcontrollerStyleAlert 就是原來的UIAlertView了,同理UIAlertcontrollerStyleActionSheet就是UIActionSheet。3d

 

2.那若是繼續使用UIAlertView 和 UIActionSheet 這兩個控件會不會有問題? 該如何選擇使用哪一個呢?代理

答:繼續使用不會有問題,就像之前過時的API同樣 咱們同樣可使用,可是蘋果不會對其進行更新和維護了,就是說可能之後會有新功能,或者bug 蘋果都不會對這兩個控件進行更新了。對於選擇,我的認爲蘋果既然取代了這兩個類確定是有緣由的,多是控件拓展起來不便,也多是維護起來繁瑣,使用起來麻煩等等吧,既然蘋果推薦咱們用UIAlertController 那咱們就乖乖用好了。何況我用過發現比之前那兩個控件好用不少。blog

 

3.怎麼使用UIAlertController呢?博客

答:廢話很少說直接上代碼。以下所示:it

 /* io

        類方法快速建立一個提示控制器 值得注意的是這個控制器有個preferreStyle屬性你能夠根據這個屬性來肯定是使用UIAlertView 仍是 UIActionSheet bug

            UIAlertControllerStyleActionSheet方法

            UIAlertControllerStyleAlert

     */

    UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"顯示的標題" message:@"標題的提示信息" preferredStyle:UIAlertControllerStyleAlert];

    

    [alertController addAction:[UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {

        NSLog(@"點擊取消");

    }]];

    

    [alertController addAction:[UIAlertAction actionWithTitle:@"肯定" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {

        NSLog(@"點擊確認");

    }]];

    

    [alertController addAction:[UIAlertAction actionWithTitle:@"警告" style:UIAlertActionStyleDestructive handler:^(UIAlertAction * _Nonnull action) {

        NSLog(@"點擊警告");

    }]];

    

    [alertController addTextFieldWithConfigurationHandler:^(UITextField * _Nonnull textField) {

        NSLog(@"添加一個textField就會調用 這個block");

    }];

    

    // 因爲它是一個控制器 直接modal出來就行了

    [self presentViewController:alertController animated:YES completion:nil];

 

 

 

4.UIAlertController有什麼好處?

答:省去了繁瑣的代理方法,原來的控件點擊每一個功能按鈕調用方法 還得調用代理方法 要否則就是本身封裝一下,如今好了 由一個控制器來管理 操做方便了些 並且每一個功能鍵都很清晰,點擊調用的方法都寫在block回調中這樣方便了不少不是嗎? 並且將原來的兩個控件合二爲一。咱們能夠自行再次對其封裝 使用會更加方便。

 

若是有不對的地方還請多多指教(QQ:234009184),我將懷着謙卑的心,努力學習。

相關文章
相關標籤/搜索