初始化就有兩種乘盖,主要是style的不同,一種是Alert即彈框,一種是sheet即操作表
?????? 這個(gè)就是彈框的初始化? UIAlertController * homeAlert = [UIAlertController alertControllerWithTitle:@"小區(qū)" message:@"請(qǐng)輸入你的小區(qū)名稱" preferredStyle:UIAlertControllerStyleAlert];
?????? 這個(gè)則是操作表的初始化? UIAlertController * sexSheet = [UIAlertController alertControllerWithTitle:nil message:nil preferredStyle:UIAlertControllerStyleActionSheet];
兩種情況都要加操作
操作表貌似 是只有按鈕的 彈框還有輸入框
??????? 按鈕有三種,普通按鈕,取消按鈕阶牍,和警告按鈕,警告按鈕是紅色的站超,取消按鈕點(diǎn)了之后就會(huì)取消這個(gè)操作表或著是彈框荸恕,取消按鈕一般會(huì)出現(xiàn)在默認(rèn)的位置,比如說操作表的最下邊死相,彈框的最左邊
UIAlertAction * a1 = [UIAlertAction actionWithTitle:<#(nullable NSString *)#> style:<#(UIAlertActionStyle)#> handler:<#^(UIAlertAction * _Nonnull action)handler#>];
上面的代碼就是操作也可以說按鈕的初始化融求,actionWithTitle是顯示文字,取消按鈕就寫@“取消”算撮,第二個(gè)是style生宛,有三種
取消:UIAlertActionStyleCancel ?? 普通:UIAlertActionStyleDefault ?? 警告:UIAlertActionStyleDestructive
操作初始化之后還是要添加到操作表或者彈框中的,
handler里面寫的是點(diǎn)擊了這個(gè)按鈕(操作)會(huì)發(fā)生什么樣的事情肮柜。
[彈框或操作表? addAction:? 操作];
彈框與操作表不同在于陷舅,彈框中還可以加文本框,
[homeAlert addTextFieldWithConfigurationHandler:^(UITextField * _Nonnull textField) {
? ? ? ? //textField.placeholder = @"請(qǐng)輸入你的小區(qū)名稱";
? ? ? ? textField.text = home;
? ? }];
比如上面這段代碼审洞,他就是給彈框加文本框的方式莱睁,基本上沒啥太多的操作,但既然輸入東西了芒澜,不處理是不可能的仰剿,所以有了其中的處理,在這段代碼外部還要訪問這個(gè)文本框就要注意了痴晦,比如我按個(gè)確定鍵南吮,就獲取這個(gè)文本框的值,
home = homeAlert.textFields[0].text;
彈框.文本框[0].text???? 注意誊酌,因?yàn)閺椏蛏系奈谋究虿⒉灰欢ㄖ挥幸粋€(gè)部凑,因此需要使用數(shù)組的形式調(diào)用你所需要的文本框的值。
文本框與操作不一樣碧浊,直接就加到彈框上了涂邀,不需要在初始化之后再進(jìn)行操作。
最后就是顯示這個(gè)彈框或者是操作表了
[self presentViewController:homeAlert animated:YES completion:nil];?
presentViewController后面跟要顯示的操作表或者彈框箱锐。 animated這個(gè)是動(dòng)畫比勉,第三個(gè)屬性completion通常為nil,他到底是什么我也不知道。