iOS中UIAlertController設(shè)置自定義標(biāo)題與內(nèi)容的方法
前言
相信大家都知道,UIAlertController的標(biāo)題和內(nèi)容都是黑色的(對(duì)UIAlertController不了解的朋友可以參考這篇文章),但是在很多場(chǎng)景下都需要修改他們的顏色,比如在輸入錯(cuò)誤時(shí)把提示信息變?yōu)榧t色,或者自定義標(biāo)題的顏色,可是在公開的API接口中好像并沒有對(duì)應(yīng)的方法,那么我們應(yīng)該怎么做呢?下面話不多說了,來(lái)一起看看詳細(xì)的介紹:
第三方控件
第一種方法當(dāng)然就是使用第三方的Alert控件了,現(xiàn)在Github上有著眾多的Alert控件(如SCLAlertView等),相信有很多都可以滿足大家的需求,只要使用Cocoapods添加添加第三方庫(kù)就可以了。
KVC方法
但是也有一些人,不愿意去使用第三方庫(kù),而是想要使用系統(tǒng)的UIAlertController,這樣當(dāng)然也是可以的。蘋果公司并沒有完全的封死對(duì)UIAlertController的定制,而是修改為了使用KVC的方法進(jìn)行定制。如果要自定義標(biāo)題和內(nèi)容,可以通過NSAttributedString把字體和顏色設(shè)置好,然后在通過KVC的方法進(jìn)行設(shè)置,就可以了。
下面是一個(gè)示例代碼和對(duì)應(yīng)的截圖:
- (void)testAlert {
UIAlertController *alert = [UIAlertController alertControllerWithTitle:nil message:nil preferredStyle:UIAlertControllerStyleAlert];
[alert addAction:[UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:nil]];
NSDictionary *titleAttr = @{
NSFontAttributeName:[UIFont boldSystemFontOfSize:20],
NSForegroundColorAttributeName:[UIColor greenColor]
};
NSAttributedString *attributedTitle = [[NSAttributedString alloc] initWithString:@"測(cè)試有顏色標(biāo)題" attributes:titleAttr];
[alert setValue:attributedTitle forKey:@"attributedTitle"];
NSDictionary *messageAttr = @{
NSFontAttributeName:[UIFont systemFontOfSize:12],
NSForegroundColorAttributeName:[UIColor redColor]
};
NSAttributedString *attributedMessage = [[NSAttributedString alloc] initWithString:@"測(cè)試有顏色文本" attributes:messageAttr];
[alert setValue:attributedMessage forKey:@"attributedMessage"];
[self presentViewController:alert animated:YES completion:nil];
}
屏幕截圖
關(guān)于自定義標(biāo)題和內(nèi)容就說這么些了,主要還是要看代碼才能明白。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,本文還有許多不足,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
IOS中UIWebView加載Loading的實(shí)現(xiàn)方法
最近有朋友問我類似微信語(yǔ)音播放的喇叭動(dòng)畫和界面圖片加載loading界面是怎樣實(shí)現(xiàn)的,是不是就是一個(gè)gif圖片呢!我的回答當(dāng)然是否定了,當(dāng)然不排除也有人用gif圖片啊!2015-05-05
iOS App中實(shí)現(xiàn)播放音效和音樂功能的簡(jiǎn)單示例
這篇文章主要介紹了iOS App中實(shí)現(xiàn)播放音效和音樂功能的簡(jiǎn)單示例,示例代碼為傳統(tǒng)的Objective-C,需要的朋友可以參考下2016-03-03
iOS開發(fā)輸入自動(dòng)填充UITextField背景色
如何在iOS中實(shí)現(xiàn)輸入時(shí)自動(dòng)填充背景色的效果,首先,我們?cè)O(shè)置UITextField的背景色為初始顏色,然后,通過設(shè)置UITextField的代理,并監(jiān)聽UITextField的輸入事件,我們?cè)谟脩糸_始輸入時(shí)將其背景色改變?yōu)楦吡令伾?在用戶結(jié)束輸入時(shí)恢復(fù)為初始顏色2023-10-10
iOS tableView實(shí)現(xiàn)下拉圖片放大效果
這篇文章主要為大家詳細(xì)介紹了iOS tableView實(shí)現(xiàn)下拉圖片放大效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-05-05
iOS各種ViewController控制器使用示例完整介紹
這篇文章主要為大家介紹了iOS各種ViewController控制器使用示例完整介紹,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07
詳解iOS中UIView的layoutSubviews子視圖布局方法使用
這篇文章主要介紹了iOS中UIView的layoutSubviews子視圖布局方法使用,文中舉了一個(gè)layoutSubviews在iPad橫豎屏切換時(shí)被調(diào)用用來(lái)重新布局的實(shí)例,需要的朋友可以參考下2016-04-04

